EDIFACT 又名 UN/EDIFACT(全称为 United Nations/Electronic Data Interchange For Administration, Commerce and Transport),是由联合国主导开发制定的国际通用 EDI 标准。EDI术语中的EDIFACT是指 EDIFACT 报文标准,本视频将为大家介绍如何读懂EDIFACT以及如何在知行之桥EDI系统中EDIFACT配置基本信息。
如何读懂EDIFACT
EDIFACT标准下的EDI报文结构
一次EDI传输包含一段Interchange(必须有),Interchange中会包含一个或多个Functional Group(简称FG),FG段是否出现并不做强制要求,一个FG中可能会包含一个或多个Message。举例来说,如果需要在一次EDI传输中传送3个ORDERS采购订单,那么报文结构为一个Interchange下包含3个Message。
EDI ORDERS报文解析
对报文结构有了基本的了解之后,我们再来看下如何从报文中获取数据。以下是一段示例的ORDERS采购订单报文,每一行开头由3个字符组成,叫做Segment节点,代表特定的业务含义,例如UNB和UNH中包含了报文头部信息,BGM代表业务数据的开始以及一些主信息,DTM代表时间信息,NAD代表实体信息(buyer、seller、bill-to等),RFF代表一些参考信息,LIN代表订单行物料信息,QTY代表数量等。
报文行解析
接下来,以LIN行为例,LIN表示Segment起始信息,+是数据元素Element分隔符(也可根据情况设置为其他符号),:是子元素Subelement分割符,’是段Segment分割符。再来看业务含义:001为订单行号,0000057G3454为物料号,BP是有固定含义的限定符Qualifier,限定该物料号为买方物料号,如果限定符为VP即为销售方物料号。类似的限定符还有QTY段的PCE,限定物料数量单位。
报文头部数据解析
了解了如何去阅读数据,我们再来详细地解析一下这一条 ORDERS 数据。报文的前两行包含了头部信息。
- 语法标识符(UNB1.1):UNOB
- 语法版本(UNB1.2):3
- 发送方 ID(UNB2.1)
- 发送方限定符代码(UNB2.2)
- 接收方 ID(UNB3.1)
- 接收方限定符代码(UNB3.2)
- 文件创建时间(UNB4.1):220118
- 信息参考编号(UNH1.1):1
- 文件类型(UNH2.1):ORDERS
- 版本号(UNH2.2):97A
- 控制机构(UNH2.3):UN
注意:发送方ID和接收方ID有长度限制,为14位。
数据解析(以ORDERS为例)
例如,我们要从报文中获取订单号以及订单日期,根据以上表格可以得知会出现在BGM以及DTM段,我们直接在报文中定位到该行,便可得知订单号为K12345、订单日期为19980626。其他的信息可以使用同样的方法获取。
知行之桥EDI 系统EDIFACT端口
知行之桥EDI系统中的 EDIFACT 端口,能够实现EDIFACT的解析与生成。实现EDI报文与XML之间的格式转换。
用户需要在EDIFACT端口的设置以及高级设置选项卡的交换头配置中填写上文提到的头部信息。
按照上文EDI示例报文中包含的头部信息在EDIFACT端口中进行配置之后,即可在输入选项卡下上传示例报文,在输出选项卡下即可查看转换结果。
导航到输入选项卡下,点击更多>创建测试文件,即可创建符合EDIFACT国际报文标准的EDI报文示例,默认开启了自动发送,因此导航到输出选项卡下即可查看转换后的XML。
输入选项卡下上传一个示例的ORDRSP.edi文件:
输出选项卡下,转换为XML格式的ORDRSP文件:
了解更多 EDI 相关信息,请阅读:EDI是什么?
阅读原文:EDIFACT学习手册