艾睿電子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 | 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_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是什麼? | EDI通信專家
原文鏈接:艾睿電子Arrow EDI ORDERS訂單解讀 | EDI通信專家