什么是EDIFACT?
EDIFACT是Electronic Data Interchange for Administration, Commerce and Transport的首字母缩写,表示行政、商业和运输行业电子数据交换。
它是由UN(联合国)制定的EDI(电子数据交换)的国际标准。该标准于1987年被ISO(国际标准化组织)批准为ISO 9735标准。EDIFACT标准为多行业和多国进行数据交换提供了一套如何构造数据和标准化消息的规则。
EDIFACT也被称为UN/EDIFACT(United Nations/Electronic Data Interchange For Administration, Commerce, and Transport)。
该标准的维护和后续开发工作是通过UN / ECE(联合国欧洲经济委员会)下的UN / CEFACT(联合国贸易便利化和电子商务中心)完成的。
EDIFACT目录
一个EDIFACT目录包含某个版本的所有EDIFACT消息,比如:D01B目录。联合国每年发布两次EDIFACT目录。较早版本的EDIFACT目录仍然有效,新的EDIFACT目录不会使之前的目录失效。如果您已经使用了比如D96.A之类的目录,并且已经与您的交易伙伴达成协议,这是没有任何问题的。
请在这里找到全部的EDIFACT目录:EDIFACT 报文(一)
EDFACT结构
EDIFACT具有多层级结构,其中顶层被称为Interchange(交换),而较低层包含多个由Segment(段)组成的消息,而这些段又由多个Composite(组件)组成。在Segment之下则是从UNTDED(联合国数据元目录)衍生出的Element;这些在整个EDIFACT标准中均已标准化。
所有EDIFACT消息均基于ISO9735,其中详细描述了语法单元,并具有以下结构:
1 2 3 4 5 6 7 |
+ -----交换头部 UNB强制的 | + ---功能组标题 UNG有条件的 | | +--邮件标题 UNH强制的 | | | 用户数据段 根据需要的 | | +--邮件尾部 UNT强制的 | + ---功能组尾部 UNE有条件的 + -----交换尾部 UNZ强制的 |
什么是一个EDIFACT报文?
EDIFACT报文是单个业务文档。每个EDIFACT报文始终由6位字符标识名称。
典型的EDIFACT报文如下:
ORDERS 采购订单 ORDCHG 采购订单变更请求 ORDRSP 采购订单响应 DESADV 发货通知 INVOICE 发票
EDIFACT报文由定义区域内的序列段集合组成。某些段可以在一个以上的区域中使用报文以其UNH(标题段)开头,以UNT(尾部段)结尾。
什么是EDIFACT Segment(段)?
EDIFACT Segment是按固定的顺序且逻辑相关的Data Element(数据元素)的集合。EDIFACT Segment包含:
- 3位字母数字代码标识Segment,称为Segment Tag(段标记)。
- 可变长度的Data Element,可以是简单的也可以是复合的。
EDIFACT Segment必须由Data Element Delimeter(数据元素分隔符)分隔,通常为“+”和“:”,并由Segment Terminator(段终止符)结束,通常为“’”。
所有Segment均完整记录在联合国贸易数据交换目录(UNTDID)中。
这些表列出了Segment位置,Segment标记和Segment名称。段表还要求使用指示符“M”(必填的)或“C”(有条件的)表示段是否必须出现在本次消息中,以及特定段可以重复多少次(重复字段)。
在EDIFACT中,有两种类型的段:Service Segment(服务段)和Generic Segment(通用段)。
Service Segment包括:
- Envelopes (UNB-UNZ, UNG-UNE, UNH-UNT)
- Delimiter String Advice (UNA)
- Section Separator (UNS)
通用字段包括:
- BGM表示消息头部,其中包含文档编号
- DTM表示日期和时间
- NAD表示名称和地址信息
- MOA表示金额
EDIFACT Data Element(数据元素)有哪些?
一个简单的Data Element包含一个信息。
复合的Data Element包含多个信息,通常包含限定符。
在EDIFACT中,所有强制的Data Element(M)必须包含数据。有条件的Data Element(O)可能包含也可能不包含数据,具体取决于特定传输要求。
由于必须根据Data Element在Segment中的位置来考虑数据,因此,如果可选的Data Element(C)或有条件的Data Element(O)不包含数据,则仍必须通过使用适当数量的Data Element Delimeter在该Data Element在Segment中的位置来使该数据元素“跳过”空白字段。
Data Element可以具有不同的类型:纯数字,纯字母和同时包含字母数字。
什么是EDIFACT Qualifier(限定符)?
复合Data Element由单个Data Unit(数据单元)或更多Component组成。通常,第一个Data Element是被限定的值。第二个Data Element通常是Qualifier。这些通常是ID(标识)字段。Qualifier为值赋予了业务含义。
EDIFACT Delimiter(分隔符)
EDIFACT使用以下度量单位:
符号含义 | 符号 | 中文注释 | Hex |
Segment分隔符 | ‘ | 撇号 | 0×27 |
Element分隔符 | + | 加号 | 0x2B |
Subelement分隔符 | : | 冒号 | 0x3A |
Release character | ? | 问号 | 0x3F |
EDIFACT ORDERS(订单)示例
以下数据是一个简单的EDIFACT ORDERS示例:
UNH+1+ORDERS:D:96A:UN’ | 消息头部 | EDIFACT ORDERS D.96A |
BGM+220+PO123456+9′ | 消息开始 | 订单编号 |
DTM+137:20171129:102′ | 日期/时间 | 文档日期 |
DTM+2:20171201:102′ | 日期/时间 | 请求的交货日期 |
RFF+CR:ABC’ | 参考 | 客户参考编号 |
NAD+BY+1234567890123::9′ | 名称和地址 | 采购商GLN |
NAD+SU+9876543210987::9′ | 名称和地址 | 供应商GLN |
NAD+DP+4567890123456::9′ | 名称和地址 | 收货地GLN |
LIN+1++4123456789012:EN’ | 订单行明细 | GTIN |
QTY+21:10:PCE’ | 数量 | 订购数量 |
PRI+AAA:9.99′ | 价格明细 | 净价 |
UNS+S’ | 部分控制 | 摘要部分的开始 |
CNT+2:1′ | 控制总计 | 消息中的行项目数 |
UNT+14+1′ | 消息尾部 | Segment总数,来自UNH的控制参考号 |
注:文案部分内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。