数据库端口LookUp功能:从数据库中获取并添加数据到XML ...

打印 上一主题 下一主题

主题 1026|帖子 1026|积分 3078

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本文将为大家先容如何使用知行之桥EDI体系数据库端口的Lookup功能,从数据库中获取数据,并添加进输入的XML中。
使用场景:期待以输入xml中的值为判定条件从数据库中获取数据,并添加进输入xml中。
例如:接收到包含采购订单数据的xml,其中包含BuyerItemNumber,不包含SKU。数据库中已有表维护了BuyerItemNumber和SKU的对应关系。如下所示:


如何将BuyerItemNumber值作为判定条件,获取到数据库表中对应的sku数据,并且添加到现有XML中呢?我们需要在知行之桥EDI体系的数据库端口中通过简朴设置即可实现。以SQLSever端口为例,操纵步骤如下。
创建SQLSever端口,建立毗连

1.点击页面右上角的 添加 按钮,在弹框的搜索栏中搜索 SQL 即可看到 SQL Sever 端口,点击即可出现添加弹框。


2.如下图所示,选择操纵为Lookup,点击右下角的 创建端口 按钮。

3.在SQL Sever端口的 设置 选项卡下点击 创建 按钮,填写设置信息,创建与数据库的毗连。



数据库端口的Lookup设置

方法一:不设置示例文件,设置路径



1.设置所要查询的表,即已维护BuyerItemNumber和SKU对应关系的数据库表,如:[dbo].[LookUpTest]。这里的数据库表可以在下拉列表中举行选择。
2.设置列,即需要获取的信息,可在下拉列表中举行选择,如sku。
3.输出目的,这里选择XPath,输出路径。注意:父级节点需使用根路径,需要结合输入文件举行设置。输入文件示例如下:
  1. <LookUpTest_Header>
  2.     <PODate>20240101</PODate>
  3.     <PONumber>123456</PONumber>
  4.     <LookUpTest_Detail>
  5.         <BuyerItemNumber>99999</BuyerItemNumber>
  6.         <OrderQuantity>100</OrderQuantity>
  7.         <DeliveryDate>20240201</DeliveryDate>
  8.     </LookUpTest_Detail>
  9. </LookUpTest_Header>
复制代码
根据上述示例,XPath需要设置为:
左侧填写:/LookUpTest_Header/LookUpTest_Detail
右侧填写:SKU
4.过滤器,获取条件,如表中buyeritemnumber列等于输入BuyerItemNumber时获取sku列


按照上述步骤设置之后,可以在 SQLSever 端口的 输入 选项卡下上传示例文件:
  1. <LookUpTest_Header>
  2.     <PODate>20240101</PODate>
  3.     <PONumber>123456</PONumber>
  4.     <LookUpTest_Detail>
  5.         <BuyerItemNumber>99999</BuyerItemNumber>
  6.         <OrderQuantity>100</OrderQuantity>
  7.         <DeliveryDate>20240201</DeliveryDate>
  8.     </LookUpTest_Detail>
  9. </LookUpTest_Header>
复制代码
在 输出 选项卡中可以查看数据获取结果如下:


点击右上角格式化按钮,可对文件一键格式化。可以看到这里SKU处多了一层列名,但我们的XML中不希望看到如许的结果,因此需要举行设置,使结果更加简便。
接下来需要在当前端口中的高级设置选项卡下,在页面末端找到特殊设置,在其他设置中设置如下:singlecolumnlookupxpathincludesleaf=true,点击保存变更,即可实现在输出中去除列名。


重新上传上文中的输入文件,可以在输出选项卡中打开新的文件,内容如下:


如上所示,我们已通过buyeritemnumber字段信息获取到其对应的sku信息,并成功将其添加到原始XML文件中。
方法二:设置示例文件

1.设置示例文件


在 设置 选项卡->操纵->设置示例文件,示例文件需要和输入文件保持一致,如下:
  1. <LookUpTest_Header>
  2.     <PODate></PODate>
  3.     <PONumber></PONumber>
  4.     <LookUpTest_Detail>
  5.         <BuyerItemNumber></BuyerItemNumber>
  6.         <OrderQuantity></OrderQuantity>
  7.         <DeliveryDate></DeliveryDate>
  8.     </LookUpTest_Detail>
  9. </LookUpTest_Header>
复制代码
2.设置所要查询的表,即已维护BuyerItemNumber和SKU对应关系的数据库表,如:[dbo].[LookUpTest]。这里的数据库表可以在下拉列表中举行选择。
3.设置列,即需要获取的信息,可在下拉列表中举行选择,如sku。
4.输出目的,这里选择XPath,输出路径。


由于我们已经设置了示例文件,这里只需要在下拉列表中选择根路径即可。我们需要sku信息出现在LookUpTest_Detail下,因此需要鼠标点击LookUpTest_Detail,然后在右侧填写:SKU。
5.过滤器,获取条件,如表中buyeritemnumber列等于输入BuyerItemNumber时获取sku列


注意,仍然需要在当前端口中的高级设置选项卡下,在页面末端找到特殊设置,在其他设置中设置如下:singlecolumnlookupxpathincludesleaf=true,点击保存变更,即可实现在输出中去除列名。
输入选项卡下,可以上传测试文件,在输出选项卡下查看获取结果。
如果您希望相识有关EDI对接的相关信息,欢迎交换。
阅读原文

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表