艾睿电子Arrow与其供应商之间,传输EDIFACT标准的报文,具有两种业务模式:AOI(Arrow Owned Inventory)模式和SOI(Supplier Owned Inventory)模式又称为VMI(Vendor Managed Inventory)。
无论供应商采用了以上哪种业务模式,都需要接收来自艾睿电子Arrow发来的ORDERS订单。在此前的文章如何读懂EDIFACT报文?中,我们对EDIFACT已经做了详细的详解,大家可以以此为基础,开始深入了解 ORDERS 订单。
本文将对符合EDIFACT报文标准的ORDERS订单进行详解,并将其转换为更易处理的XML格式文件。
以下是经知行之桥EDI系统转换前后的对比图:
ORDERS示例订单详解
艾睿电子Arrow会给供应商发送EDIFACT标准的EDI ORDERS订单,其中UNA是可选的,而第二行的UNB以及最后一行的UNZ属于EDIFACT的Interchange部分,是必须有的。通常情况下,核心信息是从BGM字段开始的。示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
UNA:+.? ' UNB+UNOA:1+ARRERICTEST:ZZ+RECEIVERTEST:ZZ+220425:1528+00000000000003+PASSWORD+ORDERS' UNH+00000000000001+ORDERS:D:97A:UN:EDPO04' BGM+220+TEST000210001+9' - 220 = purchase order 采购订单 - TEST000210001:采购订单编号 - 9 = original 原始信息 DTM+137:20220513:102' - 137 = Document date - 20220513:采购订单日期 - 102 = CCYYMMDD 日期格式 NAD+BY+C-01001::91' - BY = BuyerId 买方编号 - C-01001:买方编号 - 91 = Code assigned by Seller 由卖方指定的代码 CTA+PD+:Wei, Iris' - PD = Purchasing Contact Wei, Iris:买方姓名 NAD+SE+650001::92' - SE = Seller Id 卖方编号 - 650001:卖方编号 - 92 = Code assigned by Buyer 由买方指定的代码 CUX+2:USD:9' - 2 = Reference currency 参考币种 - USD = 美元 - 9 = Order currency 订单币种 LIN+1++RNV002001/123:BP::92' - 1 = Line item number 物料行号 RNV002001/123:采购方物料编号 - BP = Buyers’part number 买方物料编号 - 92 = Assigned by Buyer or buyer’s agent 由买方或者买方代理人指定 PIA+1+47003-04TEST:VP::91' 1 = Additional Identification 附加编号 47003-04TEST:Vendors' part number VP = Vendors' part number 供应商编号 91 = Assigned by Vendor or Vendors agent 由供应商或者供应商代理人指定 QTY+21:21000:PCE' - 21 = Ordered quantity 需求数量 - 21000:需求数量 - PCE:数量单位 PRI+AAA:0.6599:CA::1:PCE' - AAA = Calculation net 计算净值 0.6599:计算净值 - CA = Catalog / distributor price 目录/经销商价格 - CT = Contract price 合同价 - QT = Quote price 报价 1:Product id function qualifier 产品ID功能限定词 - 数量单位:PCE RFF+LI::1' - LI = Line Number 物料行号 - PR = Quote reference 引用参考 - CT = Contract / DBP reference 合同/DBP参考 1:物料行号 SCC+1' - 1 = Firm QTY+21:21000' 21 = Ordered Quantity 订购数量 21000:订购数量 DTM+2:20220523:102' - 2 = Delivery Date 交货日期 20220523:交货日期 102 = CCYYMMDD 日期格式 UNS+S' S = Detail/summary section separation 明细部分的分隔符 UNT+17+00000000000001' UNZ+1+00000000000003' |
通过上述报文详解可以看到,我们接收到的EDIFACT ORDERS 报文可读性较差,无论是企业的业务人员还是IT人员都很难从以上订单中直接获取到有效的业务信息。因此需要对此ORDERS订单进行格式转换。
利用知行之桥EDI系统可以将其转换为可读性更强的目标XML格式文件,以便于进一步处理,转换效果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?xml version="1.0" encoding="UTF-8"?> <Items xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <po_header table="`dbo`.`po_header`" action="upsert"> <id key="true">9682064cb9794790ac11c651d32ca959</id> <buyer_contact>Wei, Iris</buyer_contact> 买方联系人 <buyer_number>C-0100191</buyer_number> 买方编号 <currency>USD</currency> 币种 <delivery_number></delivery_number> 交货编码 <po_number>TEST000210001</po_number> 采购订单编号 <status type="int">0</status> <seller_number>65000192</seller_number> 卖方编号 <po_item> 订单物料 <id>b79cfbbc1e034597a3ccf2864e4452f4</id> <buyer_item_number></buyer_item_number> 买方物料编号 <hid></hid> <item_desc></item_desc> 物料明细 <line_item_number>1</line_item_number> 物料行号 <line_number></line_number> 行号 <price></price> 价格 <price_type></price_type> 价格类型 <price_unit></price_unit> 价格单位 <quantity_unit></quantity_unit> 数量单位 <status>0</status> 状态码 <supplier_item_number></supplier_item_number> 供应商物料编号 <total_ordered_quantity></total_ordered_quantity> 总订单数量 <unit_price></unit_price> 单价 <po_detail> 订单明细 <id>e98445c108924a36afa6a3eb98a589c5</id> <ordered_quantity></ordered_quantity> 订单数量 <plan_status>1</plan_status><status>0</status> <tid></tid> </po_detail> </po_item> </po_header> </Items> |
可以看到,经EDI系统转换之后的目标XML文件中,所有的业务数据与其业务含义都是一一对应的,这样的文件可读性更强,并且更方便进行下一步数据处理。
工作流示例
通过上述的讲解想必大家对艾睿电子Arrow ORDERS订单在知行之桥EDI系统中的转换流程十分感兴趣,以下是上述工作流示例,您可以下载知行之桥EDI系统导入下方 示例工作流 以及 EDIFACT ORDERS测试文件 ,进行实战操作。
在知行之桥EDI系统中导入上述工作流以及测试文件
如下图所示:
上传测试文件:在 EDIFACT_IN 端口的 输入 选项卡下,点击 更多 ,上传测试文件:Arrow ORDERS test flies.edifact
下载转换后的测试文件:在 Arrow_ORDER_IN 端口的 输出 选项卡下,点击 Arrow ORDERS test files.xml ,即可下载文件,看到转换后的效果。
详细转换操作流程
在知行之桥EDI系统中,实现上述转换,使用了两个端口:EDIFACT以及XML Map即实现了将ORDERS订单由EDIFACT格式转换为目标XML格式:
第一步:利用EDIFACT端口,将接收到的ORDERS订单由 EDI 转换为 标准XML 。
在 输出 选项卡下即可看到转换为标准XML格式的ORDERS订单,此时转换的格式并非目标XML格式,由于这只是我们进行格式转换的一个中间格式,因此这里不再赘述。
第二步,利用 XML Map 端口将第一步得到的标准XML格式的ORDERS订单转换为业务系统可进一步处理的目标XML格式。XML Map端口旨在实现任意不同XML之间的格式转换,不仅限于EDI 标准报文转换流程中。
这一步需要配置源文件与目标文件并且在 映射 中进行字段映射。(源文件以及目标文件已经配置在示例工作流中,可直接使用)
源XML文件与目标XML文件的头部信息建立映射如下:
我们以包含在BGM字段的订单编号Order Number为例:
通过艾睿电子Arrow提供的官方规范文件可知,订单编号的详细位置位于BGM字段>C106>_1004中。在知行之桥EDI系统2021版中,从上图所示的XML Map端口左侧源文件中找到相应字段,选中后拖拽至右侧po_number即可建立映射关系,此时右侧的目标文件中会显示绿色字体:[BGM/C106/_1004],并且会出现一条灰色的线条连接两个节点。其他字段信息的映射关系可以和上述方式一样,就不再赘述了。
以上是对接收艾睿电子 Arrow EDI ORDERS报文的详解以及转换的详细介绍,了解更多 艾睿电子 Arrow 的EDI报文信息,欢迎联系知行软件。
更多EDI信息,请参阅: EDI是什么?
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。