2 UN/EDIFACT 基础标准
- EDIFACT 应用级语法规则(ISO9735)
EDIFACT 应用级语法规则是规范 EDI 信息传输的统一准则,是描述 EDI 信息的标准语言。通过这一标准,才使得经由 EDI 方式传输的信息不受地域、不受语言环境、不受应用领域的限制,它是 EDI 数据传输和 EDI 报文设计必须遵守的基本标准。因此,EDIFACT 应用级语法规则是所有 EDIFACT 标准中最为重要的一项标准。这项标准已被等同采用为我国国家标准 GB/T14805— 1993。
EDIFACT 应用级语法规则共由 10 个部分和 4 个附录组成。其主要内容有:
●语法级
语法级是指在 EDI 应用的环境中使用何种字符集的标识,以 A—Z26 个大写字母来表示。在 GB/T14805 (ISO9735)中规定了最常用的 A 级和 B 级以及次常用的 C 级、D 级、E 级、F 级语法级。
A 级语法规定了在 ISO646《信息交换用 7 位代码字符集》中所用的以下字符:
大写字母 A—Z; 数字 0—9; 间隔字符;
.,—()/=段终止符’
段标记和数据元的分隔符+
复合数据元中成分数据元的分隔符: 释放字符?
以下字符是 A 级字符集的一部分,但在国际用户电报传输中不能使用。
! ″ % & * ; < >
B 级语法不准备用于用户电报的传输。它规定使用如下字符: 大写字母 A—Z 小写字母 a—z 数字 0—9 间隔字符
.,—()/’十:=?!″%&*;<> 段终止符 IS4
数据元分隔符 IS3
成分数据元分隔符 IS1
C 级语法规定了可使用 ISO8859—1:1987《信息处理 8 位单字节代码图形字符集第一部分:1 号拉丁字母》中的字符;
D 级语法规定了可使用 ISO8859—2:1987《信息处理 8 位单字节代码图形字符集第二部分:2 号拉丁字母》中的字符;
E 级语法规定了可使用 ISO8859—3:1987《信息处理 8 位单字节代码图形字符集第三部分:3 号拉丁字母》中的字符;
F 级语法规定了可使用 ISO8859—4:1987《信息处理 8 位单字节代码图形字符集第四部分:4 号拉丁字母》中的字符。
●结构
在 EDIFACT 中最大的信息传输单位是交换,其次是功能组和报文。组成一个完整业务信息的信息载体是报文。交换是结构化的报文的集合,它以交换头服务段开始,并以交换尾服务段结束。功能组是一个或多个功能相同的报文的组合,它以功能组头服务段开始,以功能组尾服务段结束。一次交换由若干个功能组或报文组成;一个功能组由若干报文组成;一个报文由若干个段和/或段组组成。如 5 个发票报文可组成一个功能组;3 个订单发票报文可组成另一个功能组,这两个功能组可组成一次交换。
—一次交换的层次结构可由图 2.3.1 所示:
(图 2.3. 1)
—一个报文实例的结构如图 2.3.2 所示:
(图 2.3. 2)
在这里,级表示报文中的各段在报文分支图中所处的位置及段重复的情况。M 表示必备型,意指在报文中必须出现;C 表示条件型,意指在报文中可出现也可不出现。字母 M 或 C 后跟的数字表示最大可重复次数。
报文应由报文头 UNH 段开始,并以报文尾 UNT 段结束;两个以上的段可形成段组;处于“O”级的段不允许重复,应具有 M1 和 C1 的状态,且不含嵌套段。
从上述 EDI 交换和 EDI 报文实例的结构可以看出,EDI-FACT 语法规则实际就是通过一些标识将相关交易的数据加以组合,形成不同的报文、交换和功能组,以确定交换数据的结构。为使管理报文的数据和用户使用的数据加以区分,在 EDIFACT 标准中特定义了两种类型的段,一种是服务数据段,另
一种是用户数据段元;由于服务数据段主要用于标识功能组、交换和报文的边界,因此,将要视具体应用情况选择相应的服务段,但是在报文这一级的服务段,也就是报文头段和报文尾段总要出现。服务段的特征是它的段标记是由 3 个大写字母组成,且前两位的字母必须是“UN”,如 UNH 意为报文头, UNT 意为报文尾段。用户数据段是夹在服务段中的用来传输用户数据的任意的段,有关内容将在下面谈到。
●压缩
压缩是将实际用于传输的数据向标准报文归位后,而将在报文中不用的段。复合数据元和数据元删除或略去的一种方法。
—应删除不含数据的条件段(包括段标记)。
—用省略法删除数据元
如果省略一个条件型数据元,其后还有其他数据元跟随,应通过保留它的数据元分隔符指出其位置。
—用截断法删除数据元
如果在段尾省略一个或多个条件型数据元,可用段终止符截断该段,不必传送尾随限定数据元分隔符。
—用省略法删除复合数据元中的成分数据元
在复合数据元内部,成分数据元是以其在复合数据元中给定的顺序来标识的。如果要省略条件型成分数据元,且其后有其他成分数据元跟随,则必须用成分数据元分隔符指出其位置。
—用截断法删除复合数据元中的成分数据元
在复合数据元尾部的一个或多个条件型成分数据元可采用截断法将其删除,或用数据元分隔符将其删除,如果在段的尾部,用段终止符将其删除。
在这两种情况中,复合数据元都被截断,第一种情况下由数据元分隔符指出,第二种情况下由段终止符指出。
●重复
重复是指在一个报文中相同的段同时出现的次数,或一个段组同时出现的次数;或在一个段中相同的复合数据元或数据元同时出现的次数。
—段重复的显示指示
显示指示是将段重复的情况以显示的形式标识出的一种方法。如果采用显示指示,则在段代码之后,按照复合数据元的表示形式将段的重复或段组的重复标出。
—段重复的隐示指示
隐示指示是指报文中段的重复情况并不明显表示出,而是按照报文中段的顺序依次出现。
—段重复
在报文中,可使用显示重复技术或隐示重复技术。使用何种重复技术应在报文设计时作出规定。在同一个报文中这两种技术不能混合使用。
O 级的段不得重复,且其标记不包括重复指示。服务段均不得重复,且其标记不包括重复指示。
—显示表示与隐示表示的比较
(图 2.3. 3)
假定 GDS 段出现 3 次,FTX 段出现 1 次,报文将按下列形式传输:
隐式表示显示表示
UNH+⋯⋯数据⋯⋯’ UNH+⋯⋯ 数 据 ⋯⋯’ AAA+⋯⋯数据⋯⋯’ AAA+⋯⋯ 数 据 ⋯⋯’ GDS+⋯⋯数据⋯⋯’ GDS:=+⋯⋯数据⋯⋯’ GDS+⋯⋯数据⋯⋯’ GDS:2+⋯⋯数据⋯⋯’ CDS+⋯⋯数据⋯⋯’ GDS:3+⋯⋯数据⋯⋯’ BBB+⋯⋯数据⋯⋯, BBB+⋯⋯ 数 据 ⋯⋯’ FTX+⋯⋯数据’ FTX:1+⋯⋯数据⋯⋯’
UNT+⋯⋯数据⋯⋯’ UNT+⋯⋯数据⋯⋯,
一数据元重复
段中的数据元的重复次数不能超过在相关目录中规定的次数。如果少于规定的次数,可以应用删除规则。
●段嵌套
段嵌套是指一个可依赖于报文结构中较高级段的那个段。
在给出的报文中,应使用显示嵌套或隐示嵌套技术,使用何种嵌套技术应在报文设计时作出规定。在同一报文中,这两种技术不能混合使用。
服务段和 0 级段不应被嵌套,且其标记不包括嵌套指示。
- EDIFACT 语法实施指南
《EDIFACT 语法实施指南》是为 EDl 的用户实施 ISO9735(GB/T14805)
《用于行政、商业和运输业电子数据交换的应用级语法规则》提供帮助,并通过一些实例的支持来扩展包含在 GB/T14805 中的某些规则。如果把
《EDIFACT 语法规则》比作一个法的话,则《EDIFACT 语法实施指南》即是该法的实施细则。
在《指南》中特别指出,所有 EDI 用户都应严格遵守已发布 的 UN/ EDIFACT 标准,否则会失去许多可以得到的好处。
《EDIFACT 语法实施指南》由 11 个部分组成。第一、第二部分是对指南的总体介绍;第三部分是对交换协议的说明;第四部分是术语;第五部分是对所用字符集的使用说明;第六部分是对传输成分的说明;第七部分是对 UN
/EDIFACT 报文的标识与管理的详细描述。其主要内容有:UNSM 的定义、UNSM 子集的定义、UN/EDIFACT 目录集发布号、 UNSM 和 UNSM 子集的报文版本号与发布号、1 状态报文的版本号与发布号、预草案报文的版本号与发布号; 第八部分是对基本 EDIFACT 语法规则的详细描述。其主要内容有:交换结构、字符集的使用、交换格式规则;第九部分是对段结构和传输规则的详细描述。其主要内容有:段组成、数据省略、不必要字符的压缩、负值、重复段和嵌套段;第十部分是 EDIFACT 服务与管理报文;第十一部分是 EDIAFCT 的移植。
从该《指南》中,可以看出 EDIFACT 语法规则是基于以下三个基本假设:
◎数据以字符为基础;
◎数据以批式方式传输;
◎报文被预定义和结构化。
在 UN/EDIFACT 中,其数据类型均以字符为基础,可体现在数据可以字母或数字表示,也可以子母数字混合表示。二进制的比特串当前还未包括在EDIFACT 中。目前有关专家正在讨论如何在报文中表达图形和图象。
该语法仅适用于数据的批式传输,或一个或多个报文的传输。在这种方式下,报文被事先制定好,接收或发送的应用信息不能进一步影响不断进展之中的传输文件。但是在某些情况下,有些数据需要以交互的方式进行处理, 如民航订座系统就需要即时的确认回复报文。这样就在批式 EDl 的基础上应运而生了交互式 EDI。交互式 EDI 通信的典型特征就是双向、小数据量和需要较短的应答时间。目前,交互式 EDI 语法规则的国际标准已起草完毕,如获通过即可满足交互式 EDI 应用的需要。
所有的 EDIFACT 报文在 UN/EDIFACT 各级组织的支持下,经过严密的技
术评审,最终以 UN/EDIFACT 的形式发布,保证了这些报文的预定义和结构化的特征。
从中我们还可看出 EDIFACT 的语法具有以下几个主要特点:
—层次结构;
—隐式数据元标识法;
—特定的字符数据分隔;
—柔性长度的数据结构;
—数据元和段具有必备和可选状态。
对 EDIFACT 只有初步了解的用户,应很好地阅读这一文件,以便对EDIFACT 语法规则有一清楚的了解。
- EDIFACT 报文设计指南和规则
EDI 报文是 EDI 传输的具体内容,因此不管是从事 EDl 报文设计的人员, 还是欲了解 EDI 报文的人员都应学习和掌握《EDI-FACT 报文设计指南和规 则》这一基础标准。
《EDI 报文设计指南与规则》所针对的使用对象便是:
-
报文设计人员和提交新 UNSM 人员;
-
以“更改请求”方式对现有标准报文提出修改者;
-
对 EDIFACT
各项标准进行技术评审的人员。“指南”是为报文设计的过程和概念提供进一步的说明和补充,供报文
设计者参考;
“规则”是报文设计时必须遵守的内容,也是对报文设计得是否符合要求判别的依据。
在《EDIFACT 报文设计指南与规则》中共分成 5 个部分、40 条规则及三个附录。
第一部分是引言,包括指南和规则、术语和定义、 UN/EDI-FACT 报文与目录的状态、 UN/EDIFATC 标准报文定义;
第二部分是报文设计总体指南,包括报文的结构模块、UN/EDIFACT 新报文的设计、请求新 UNSM 或请求更改当前 UN-SM、设计新报文的前期工作;
第三部分是报文组成部分设计,包括交换结构与目录的关系、数据元的设计、复合数据元的设计、段的设计;
第四部分是报文结构设计,包括报文文件指南、段组设计指南、段组设计规则、报文设计指南、报文设计规则、报文类型设计规则、UNS 段的使用规则:
第五部分是有关报文设计指南与规则的说明。附录 A 是数据元 1131、 3055 的用法;
附录 B 是报告人咨询与支持组; 附录 C 是报文的层次结构的示意。4.EDIFACT 数据元目录
在任何人们之间或计算机系统之间进行会话之前,首先需要约定一套术语目录。在 EDIFACT 中,这些术语被称为数据元,也就是一套面向应用的词汇。每个数据元都将用来标识一个特定的领域或标识为特定用途设计的数据项。例如,产品号、数量、单价等。所以数据元是组成 EDI 报文的最小单元, 也是描述所传输信息的标识。因而数据元的标准化对于 EDI 报文的组成至关重要。
《EDIFACT 数据元目录》是由 300 多个与设计 EDIFACT 报文有关的数据元集合而成。这里需要指出的是,《联合国贸易数据元目录》(UNTDED 也是ISO7372)是涉及贸易领域应用最广的数据元目录的集合,由近千个与贸易有关的数据元组成。它包括了《EDIFACT 数据元目录》的所有内容,也就是说
《EDIFACT 数据元目录》是《联合国贸易数据元目录》的一个组成部分。
《EDI-FACT 数据元目录》主要用于设计 EDI 报文,而《联合国贸易数据元目录》(UNTDED)的用途和适用范围要比《EDIFACT 数据元目录》广和大。
《EDIFACT 数据元目录》每年至少更新一次,目前已发布到 96 版。
在《EDIFACT 数据元目录》中,对每个数据元的标识、名称、版本、说明、数据类型及字符长度作出了具体规定。以下简要说明有关内容。
●数据元的标识号由 4 位数字组成,其分类含义如下:
0001—0499 服务数据元
1000—1499 文件,参考
2000—2400 日期、时间、时期
3000—3499 参与方、地址、国家
4000—4499 条款、条件、费用条款
5000—5499 金额、费用、百分比
6000—6499 计量标识符、数量
7000—7499 货物说明及标识符
8000—8499 运输方式、集装箱
9000—9499 其他(海关)
●数据元标识号后三位的分配001—499 国际标准数据元
500—699 供各国制定国家标准数据元
700—799 供 EDIFACT 试用
800—899 供行业或公司制定相应的数据元
当最后一位是偶数时,表示该数据元需以自然语言描述; 当最后一位是奇数时,表示该数据元需以代码描述。
●数据元的表示形式
数据元的数据类型的表示符号可用“a”表示字母,用“n”表示数字, 用“an”表示字母数字混合。数据元可以是固定长度,也可以是可变长度。以下给出了一些使数据元长度标准化的原则
1)自然语言描述的数据元
格式为:an..17,an..35,an..70 2) 代 码 型 数 据 元 a.×××,代码型格式为 an..3 6.××× 限 定 符 格 式 为 an..3 c.×××标识符格式为 an..X(X>3) 3)其他数据元
格式依业务需求而定。
- EDIFACT 复合数据元目录
复合数据元是由两个或多个意思相近的成分数据元构成,是 EDI 报文中段的组成部分。复合数据元的标识由 4 位字母数字组成,第一位是字母,后三位是数字。当第一位字母为“C”,时,表示该复合数据元为用户复合数据元;当第一位字母为“S”时,表示该复合数据元为服务复合数据元。用户复合数据元是供用户使用的。而服务复合数据元是供管理报文的服务段中使 用。完整的复合数据元的表示应由复合数据元标识、名称、说明、数据元组成、数据元状态及数据元的数据类型和字符长度。
例:Cl07 文本参考
说明:一个标准文本和其出处的代码参考。4441 自由文本,代码型 Man..3
1131 代码表限定符 Can..3
3055 代码表负责机构,代码型 Can..3
这里,“M”表示当使用该复合数据元时,必须出现 4441 这个数据元; 而“C”表示这个数据元是可选型的,在这个复合数据元中可出现,也可不出现。
当定义一个复合数据元时,其中的数据元应按如下顺序安排: i.必备型数据元应置于可选型数据元之前; ii.经常使用的数据元应置于不太经常使用的数据元之前; iii.当修订一个复合数据元时,任何新增加的数据元应置于新版本的复
合数据元的最后。
在《EDIFACT 复合数据元目录》中收入的复合数据元共计近 130 个。
《EDIFACT 复合数据元目录》每年至少修订一次,目前已发布到 96 版。在《EDIFACT 复合数据元目录》中出现的几个符号其含义如下:
※表示复合数据元的结构有改变;
Ⅰ 表示复合数据元的名称和/或功能描述改变; 十 表示复合数据元是新增的;
— 表示复合数据元已被删除;
× 表示该复合数据元 3 年后被删除
- EDIFACT 段目录
段是 EDI 报文中信息媒体的单元,它由功能相关的数据元的预定义的集合组成,这些数据元以其在该集合中的顺序进行标识。段目录便是所有标准段的集合。一个段由三个字母的段标识、功能说明、相关复合数据元和数据元组成。段又分成用户数据段和服务数据段。用户数据段是为用户传输自己的数据所用,服务数据段是管理报文交换必备的段。服务数据段以“UNX”的形式表示,除此之外的任意三字母组成的段均为用户数据段。
例, QTY 量
功能:标识一个相关的量。量细目 M
量限定符 M an..3
量 M n..15
计量单位限定符 C an..3
这里,当在报文中使用该段时,带有“M”的复合数据元和数据元必须要出现,而带有“C”的数据元为可出现或不出现。
当定义一个段时,其中的数据元和复合数据元应按如下顺序安排: i.必备型数据元应置于可选型数据元之前; ii.经常使用的数据元和复合数据元应置于不太经常使用的数据元和复
合数据元之前; iii.当修订一个段时,任何新增加的数据元应置于新版本的段的最后。当提交一个段的说明时,段中的简单数据元和复合数据元的名称应大
写,复合数据元中的成分数据元应小写。
从数据交换的观点看,段的概念具有十分重要的作用,它是带有明确标识进行交换的最小数据单位,也是构成报文的基本元素。
在《EDIFALIT 段目录》中,到目前收入的段近 100 个。《EDI-FACT 段目录》每年至少修订一次,目前已发布到 96 版。
在《EDIFACT 段目录》中出现的几个符号其含义如下:
※ 表示段的结构有改变;
Ⅰ 表示段的名称和/或功能描述改变; 十 表示段是新增的;
— 表示段已被删除;
× 表示该段 3 年后被删除7.EmFACT 代码表
在 EDI 报文中,将很多要传输的数据以代码的形式体现,是 EDI 的一大特征。在 EDIFACT 数据元目录中,几乎占全部数据元的 80%都是代码型数据元。所谓代码型数据元就是须将这些数据元的下层结构编上标准代码,在传输 EDI 报文时,只要传相应的代码即可。《EDIFACT 代码表》便是对应 EDIFACT 所有代码型数据元编制的一套代码的全集。
如果有些国家或行业自己所制定的一些代码标准业希望能在 EDI 的报文中得到体现,则可以通过数据元 1131 代码表限定符和数据元 3055 代码表负责机构一起使用得以实现。随着国际范围 EDI 应用的不断深入和普及,EDI 代码的更新量和内容也会不断增加。《EDIFACT 代码表》每年至少修订一次, 目前已发布到 96 版。
在《EDIFACT 代码表》中出现的几个符号其含义如下:
※ 表示代码的结构有改变;
| 表示代码的名称和或功能描述改变;
+ 表示代码是新增的;
— 表示该代码已被删除;
× 表示该代码 3 年后被删除