EDIFACT 标准

7.2.1 EDI报文标准
  1.EDI标准发展过程
  EDI标准的发展经历了从专业标准、行业标准、国家标准,一直到今天的国际标准的四个阶段演化过程。
  (1) 专业标准阶段
  专业标准起始于美国及欧洲一些国家的大型的、国际化的公司内部,如福特汽车公司、飞利浦公司等,他们为简化自身业务而自行定义了企业标准。这些标准由于为其内部使用带有相当大的局限性。
  (2) 行业标准阶段(1970~1980)
 这个阶段从20世纪70年代初开始,一些行业为满足行业内部业务往来的要求而制定的。典型的有美国运输业制定的TDCC标准、美国汽车业制定的AIAG 标准、欧洲汽车业制定的ODIFICE标准、零售业制定的UCS标准、仓储业制定的WINS标准、电子业的EDIFICE标准、医学界的TEEDI标准、 建筑业的EDICONSTRAUCT标准等,这些标准的制定为行业EDI的开展奠定了基础。
  (3) 国家标准阶段(1980~1985)
  随着经济及计算机技术的发展,行业标准已不能适应发展的需求,于是国家标准应运而生。1979年,美国国家标准协会授权ASC X12委员会依据TDCC标准,开始开发、建立跨行业且具一般性EDI国家标准ANSI X.12。
 同时,欧洲也由官方机构及贸易程序简化组织共同推动统一的EDI标准,并获联合国的授权,由联合国欧洲经济理事会从事于国际贸易程序简化工作的第四小组 (UN/ECE/WP.4)负责发展及制定EDI的标准,并在80年代早期提出TDI(Trade Data Interchange)及GTDI(Guildlines For TDI)的标准,但该标准只定义了商业文件的语法规则,还欠缺报文标准。
  (4) 国际标准阶段(1985~)
  鉴于全球EDI发展的趋势,各国的国家标准为国际标准提供了完整的技术和应用结构,在此基础上,联合国欧洲经济委员会(UN/ECE)为简化贸易程序促进国际贸易活动,公布了一套用于行政、商业和运输业的EDI国际标准--UN/ EDIFACT标准。国际标准化组织为EDIFACT制定了ISO9735 EDI语法规则和ISO7372 贸易数据元国际标准。同时,ANSI X.12于1992年决定在其第四版标准制定后,不再继续发展维护,全力与UN/EDIFACT结合,最终将使全球EDI标准统一于 EDIFACT标准,EDIFACT作为国际标准,已被世界上大多数国家所接受,我国的EDI标准也确定以 EDIFACT标准为基础制定。因此,掌握EDI的国际标准--EDIFACT对实施EDI至关重要。
  所以本节重点对EDIFACT进行讨论。
  2.EDI标准的构成要素
  为了实现各公司计算机系统间传递贸易单证,必须保证这种贸易单证具有标准格式并能够为各公司的计算机所识别。正如语言在人类交流中的媒介作用一样,EDI标准是实施EDI必不可少的,它是计算机系统之间的语言。作为EDI标准,应达到以下目的:
  (1) 提供一种任何贸易伙伴都可使用的语句,这种语句是无歧义的,可以使使用者明白其含义的;
  (2) 这种标准是不受计算机机型影响的,是既适用于计算机间的数据交换,同时又独立于计算机之外的。
  (3) EDI传递的贸易单证是电子单证,目的是为了以电子手段完成传统贸易单证的传递,从而加速单证的周转,缩短贸易进程。EDI标准的制定正是基于此目的的,因此贸易数据元就是EDI标准的重要组成部分。
 贸易数据元是电子单证最基本的单位,任何电子单证都由贸易数据元组成。订立EDI标准首先就要定义此标准所涉及的贸易数据元,对贸易数据元的名称、使用 范围、数据类型和数据段长度做出详细的规定。贸易数据元是制定EDI标准的基础,它决定了标准的适用范围,起到对标准的支持和限定作用。
  任何贸易单证都是由一些具有一定功能的项组成的。例如一张发票是由发货人、货物名称、货物价格等项组成。那么电子单证为实现贸易单证的功能而与贸易单证的项相对应的就是段。
 每一个段都是由多个数据元组成的,与现在贸易单证中的各项所起的作用一样,段在电子单证中完成一定的功能,是组成电子单证的单元。电子单证是以报文形式 在计算机网络上传输的,它除包含相应的贸易单证的内容外,还包含一些必要的控制段。因此,段的种类就分成数据段和控制段。在EDI标准中数据段的定义包括 段标识、段名、段功能和组成段的数据项,其中段标识是由段名的英文首字母缩写构成的。控制段的定义结构与数据段差不多,所不同的是,在功能上,一个数据段 完成的功能基本上是贸易单证中一个项所起的作用,而控制段是对整个EDI报文的控制、标识与描述;在使用上,不同类型的EDI报文都具有相同的控制段,而 数据段的取舍则取决于EDI报文的类型。EDI标准中定义的段是EDI报文设计中所需段的集合,任何在此标准下设计的EDI报文中涉及的段都不超出标准定 义的范围。
  EDI标准如果仅有数据元目录和段目录,而公司计算机系统间传递的电子单证格式由用户自行定义,那么用户间传递的报文将不能被彼此 理解,EDI的应用将处于混乱状态,其优越性就无从体现。因此,EDI标准除包括贸易数据元目录和段目录外,还应包括标准报文格式,即用户都能识别的电子 单证式样。
  标准报文格式一般包括两部分:报文控制部分和报文内容部分。报文控制部分由控制段构成,至少包括报文头(Message Header)和报文尾(Message Tailer)两个段;报文内容部分由数据段构成,涉及的段由报文性质决定,例如订单报文与发票报文涉及的数据段就有所不同。报文中用到的数据段根据需要 从相应的段目录中选取出来,并根据报文设计需要按一定先后次序出现在标准报文中。这样,必要的控制段,加上一定数量有序的数据段就构成了EDI报文标准。
  总之,为达到EDI标准所希望的目的,起到EDI标准所应起的作用,EDI标准至少要包括数据元目录、段目录和EDI标准报文格式。图7.6描述了这三部分关系。因此,数据元、段和标准报文格式是EDI标准的三要素。

EDIFACT 标 准 - zhangbo_85 - 小米粽子香饽饽
图7.6 EDI标准三要素的关系

7.2.2 EDIFACT标准构成
  EDIFACT标准包括一系列涉及电子数据交换的标准、指南和规则,包括以下8个方面的内容:
  (1) EDIFACT应用级语法规则(ISO9735)
  应用级语法规则规定了用户数据结构的应用层语法规则和报文的互换结构。

  (2) EDIFACT报文设计指南
  报文设计指南是为从事标准报文的设计者提供技术依据。
  (3) EDIFACT应用级语法规则实施指南
  这一指南的目的是帮助EDI用户使用EDIFACT语法规则。
  (4) EDIFACT数据元目录(ISO7372)
  EDIFACT数据元目录收录了200个与设计EDIFACT报文相关的数据元,并对每个数据元的名称、定义、数据类型和长度都予以具体的描述。
  (5) EDIFACT代码目录
  代码目录给出数据元中的代码型数据元的代码集,收录了103个数据元的代码,这些数据元选自EDIFACT数据元目录,并通过数据元号与数据元目录联系起来。
  (6) EDIFACT复合数据元目录
 所谓复合数据元是由别的数据元组成的,其功能更强,包含的信息量更多。目录收录了在设计EDIFACT报文时涉及的60多个复合数据元。目录中对每个复 合数据元的用途进行描述,罗列了组成复合数据元的数据元,并在数据元后面注明其类型,注有字母"M"的表示该数据元在此复合数据元中是必须具备的,注有字 母"C"的表示该数据元在此复合数据元中的出现与否是根据具体条件而定的。复合数据元通过复合数据元号与段目录相联系,组成复合数据元的数据元通过数据元 号与数据元目录、代码表相联系。
  (7) EDIFACT段目录
  段目录定义了EDIFACT报文中用到的段。目录中注明了组成段的 简单数据元和复合数据元,并在数据元后面注明此数据元是"必备型"或"条件型"。段目录中除有段名外,每个段前均标有段的标识。"段标识"一般由三个英文 字母组成,它们是段的英文首字母缩写。每个段通过"段标识"与EDIFACT标准报文相联系,简单数据元和复合数据元通过数据元号和复合数据元事情与EDIFACT数据元目录和复合数据元目录相联系。
  (8) EDIFACT标准报文目录
  这是已得到联系合批准的贸易单证标准报文的集合。EDIFACT标准报文格式分三级:0级、1级和2级。0级是草案级,1级是试用推荐草案,2级是推荐报文标准级。

7.2.3 EDIFACT应用结构
  1.语法规则
 ISO9735规定了A级和B级字符集,对应于A级和B级字符集有A级和B级语法规则,它们除了字符集的使用外,其余各方面均相同。主要是终止符和分隔 符的表示有所差别。A级和B级终止符和分隔符的表示如表7.1所示。A级和B级字符集分别如表7.2和表7.3所示,在一般情况下,缺省使用A级字符集, 即采用A级语法规则。

表7.1 A级、B级的终止符和分隔符

名称与作用
A级
B级
段终止符
'
IS4
段标记与数据元分隔符
+
IS3
成分数据元分隔符
:
IS1

表7.2 A级字符集

大 写 字 母
A~Z
右 圆 括 号
数字
0~9
斜线号
/
间隔符

等号
=
句号
撇号
′段终止符
逗号
加号
+ 段标记和数据元分隔符
连字符/负号
-
冒号
:成分数据元的分隔符
左圆括号
问号
?释放字符
感叹号
星号
*
引号
"
分号
百分号
%
大于号
>
和号
&
小于号
<

表7.3 B级字符集

大 写 字 母
A~Z
等 号
=
小写字母
a~z
问号
?释放字符
数字
0~9
感叹号
间隔符

引号
"
句号
百分号
%
逗号
和号
&
连字符/负号
-
星号
*
左圆括号
分号
右圆括号
小于号
<
斜线号
/
大于号
>
撇号
信息分隔符
IS4段终止符
加号
+
信息分隔符
IS3数据元分隔符
冒号
信息分隔符
IS1成分数据元分隔符

  2.段和数据元的结构
  (1)数据元结构
 在EDIFACT中,数据段、控制段和数据元都是有一定结构的,数据元的结构如图7.7所示,数据元分为简单数据元和复合数据元,它不能单独存在于一个 报文中,是被用来构造段的材料(元素),若干数据元按照一定的顺序和结构定义在一起,组成了一个段。数据元之间用数据元分隔符隔开。简单数据元和复合数据 元在相关的段定义中被规定为条件型或必备型。复合数据元由成分数据元和成分数据元分隔符组成,成分数据元分隔符是必备型,不论其前后的成分数据元存在与 否,分隔符都将存在。而成分数据元是一种特殊的简单数据元,一系列成分数据元组合在一起,表达一个比较复杂的内容,也就是复合数据元所要表达的意义。在复 合数据元中最后一个成分数据元之后不应有成分数据元分隔符,复合数据元有两类:CXXX是表示用户数据,SXXX是服务复合数据元,是服务段的组成部分, 当然,服务段也可以有普通的数据元。一般情况下,数据元指的就是简单数据元。
  在EDIFACT数据元目录中规定采用4位数字作为数据元的标 识,为了方便用户使用,将数据元标识空间划分成了9个组,在每组里,前500个号划分给经国际间协商而定的数据元,随后的300个号由各国标准化团体统一 制定使用,最后200个号由公司使用,这样的规定给使用者提供了相对的灵活性。如果有国际统一的数据元,便采用国际统一的数据元;如果国际统一数据元中没 有本国使用的一些数据元,各国可发展自己的数据元子集;国家未定义的数据元,各公司可以自行定义。但是,无论是各国或各公司对数据元的定义,必须按照这种 划分规定来进行,在相应的标识空间中编码,以免发生冲突,造成混乱。

EDIFACT 标 准 - zhangbo_85 - 小米粽子香饽饽

   在标准中,用具体的图表格式给出了每个数据元的定义。每个数据元的定义分为几部分,对数据元的功能、结构、应用范围等给予了详细描述。在标准中,数据元是按照代码的顺序进行排列的。定义的描述表示为:
  XXXX 数据元代码
  标题(title) 数据元名称
  说明(desc) 对该数据元的解释和说明
  表示(repr) 数据元值的表示方法,给出了数据输入的可用空间和位置
  注释(note) 适当的附加说明,描述数据元的功能、应用范围等
  参考(refe) 在"注释"的解释不完全时,用以指示信息出处的参考
  同义词 描述该数据元的同义词
  在这些条目中,前4项是必须有的,后面三项则根据具体情况来决定。图7.8给出了一个数据元的例子。

EDIFACT 标 准 - zhangbo_85 - 小米粽子香饽饽

  表7.4的左边给出了数据元表示的定义,右边解释了将值代入数据元应遵从的含义。

EDIFACT 标 准 - zhangbo_85 - 小米粽子香饽饽

  (2)段的结构
 EDIFACT段是由段标记、数据元分隔符、简单或复合数据元序列和段终止符组成的。图7.9表示了段的结构。段标记包括段代码、成分数据元分隔符和嵌 套、重复指示。实际上,段标记可以看作是一个特殊的复合数据元;段代码是一个必备型成分数据元,表示为段的名称之缩写,如名字和地址段(Name And Address)的段代码为NAD;段标记中的成分数据元分隔符是条件型的,这是段标记与其他复合数据元不同的显著特征;嵌套和重复指示是用数字来表示该 段重复次数和嵌套层次的,在下面会予以详细说明。在EDIFACT中,每个段都定义了一系列相关的简单或复合数据元,这些数据元要么为必备型,要么为条件 型。

EDIFACT 标 准 - zhangbo_85 - 小米粽子香饽饽

   3.报文的交换结构
 EDI报文的交换用数据元、数据段、功能组和报文来标识。报文由用户数据段和报文头、报文尾组成,其中报文头与报文尾是服务段。数据段等同于贸易单证中 的一个栏目,它是由一些预先定义的、功能上相关的数据元组成的,例如发货方、收货方、日期和地址等。数据段由段标识符表示,在报文中的每个数据段有一个确 定的位置,即用段序来表示,这是标准预先定义好的。段可以重复和嵌套。功能上相关的报文组成功能组,功能组是由组头和组尾来标识的。数据段内有简单数据元 和复合数据元。复合数据元由成分数据元组成。成分数据元是电子单证中最基本的、不可分割的单元。成分数据元之间用语法分隔符隔开。因此,一个 EDIFACT报文中,服务串通知UNA和服务段UNB-UNZ按下列顺序出现(如图7.10所示)。

 

服务串通知
UNA
条件
交换头
UNB
必备
功能组头
UNG
条件
报文头
UNH
必备
用户数据段
……
……
报文尾
UNT
必备
功能组尾
UNE
条件
交换尾
UNZ
必备

图7.10 EDIFACT报文一次交换的格式

   下面对各个主要服务段包含的信息和应用方法进行说明。
  (1) 服务串通知UNA
  定义在该次交换中被选择用作定界符和指示符的字符。在UNB段中,服务串通知中的分类优先于定界符的分类。它有一个固定的长度,为9个字符,前三个为UNA。
  在进行传输时,服务串通知必须在交换头UNB之前出现,并且在开始时使用大写字符UNA,紧接着是由发送器指示选择的6个字符,其功能如表7.5所示。

表7.5 UNA结构

表 示
状 态
名 称
附 注
an1
M
成分数据元分隔符  
an1
M
数据元分隔符  
an1
M
十进制记数法 逗号或句号
an1
M
释放指示符 如不使用,插入空格
an1
M
保留将来使用 插入空格字符
an1
M
段终止符  


  (2) 交换头--UNB段
  除段代码UNB外,下列必要的服务数据元必须以下列顺序出现:
  语法标识符与版本号;交换发送者的地址;交换接收者的地址;传输日期和时间;交换控制参照符。
  如果规定使用交换协议,下列某些或所有条件型服务数据元可包括在段中,如包括在段中,它们就必须按照下列顺序:
  接收方的传输参照符;应用参照符;处理优先权代码;确认需求;通信协议标识;试验指示符。
  例如,一个使用A级语法的,并且包含所有数据元的UNB段的可能取值如下:
  UNB+UNOA:1+123:AB:PO168+3572:DN:B1342+960406:1215+A143+B26AZ+DELINS+X+1+CANDE+1′
  在这里,UNB是段代码;
  UNOA(语法标识符与版本号):1 标识第1版本,语法规则为A级以及控制机构是UNO。若使用B级语法,则可能表示为UNOB:1。版本号的作用是为了对标准进行维护,未来对语法的每次修订都会使版本号由1开始递增;
  123:AB:PO168(交换发送者的地址)以代码形式标识传输的发送方,AB是限定符,用来标识正使用的代码集,下一个代码(PO168)表示接收方做出应答向反方向发送的地址;
  3572:DN:N1342(交换接收者的地址) 以代码形式标识传输的接收方,并加上一个附言代码。DN为限定符。如果没有使用功能组,便可使用向前发送的附言代码;
  960406:1215 960406(传输日期和时间)是日期,意为1996年4月6日,1215是传输的时间,意为12点15分,这些是交换进行传输的日期或时间;
  A143(交换控制参照符)是由交换的发送方安排的本次传输的惟一交换控制参照符;
  B26AZ(接收方的传输参照符或由发送方提供的口令)是接收方的参照符或口令;
 DELINS(应用参照符)是一个应用参照符的例子。此域的一个基本用法是在惟一的一次传输中,保持所有段报文具有同样类型,并在此域中带有合适的报文 标记符。这一用法允许由接收方从传输前便包含有不同类型报文的邮政服务对特种报文进行检索。如果既使用功能组又使用含有不同报文混合体的交换时,此技术不 能使用。在这种情况下,可能会留下空白;
  X(处理优先权代码)是一个优先处理代码,使用一个在交换协议(或如不使用即留空白)中已定义的代码;
 1(确认需求)表示发送方需要对交换进行确认。还表示接收方已对此次交换成功地接收与识别了报文头与报文尾段(UNB与UNZ)。接收方将使用一 个"CONTRAL"应答。这种确认并不意味着交换的内容已经正确处理并对接收方来说可以接受。如果不需要确认,此域置为零;
  CANDE(通信协议标识)是一个规定在交换协议中的代码例子,标识了通信协议的类型,按此通信协议,交换可得到控制(如不使用便留为空白);
  1(试验指示符)表示这是一个试验传输。对当前数据的传输,此域设置为零。
  (3) 交换尾--UNZ段
  一个交换的尾部包括如下信息:

  • 交换中的文件数或功能组数
  • 交换控制参照符(与UNB中的值相同)

  除段代码UNZ外,此服务段包含两个强制型的服务数据元。第一个是交换控制读数,如果使用了功能组,则它既可包含交换中报文的读数,又可包含交换中功能组的读数。
 第二个数据元是交换控制参照符,它包含对于同一交换在UNB交换头段的同一区域进行传送的相同参照符。检查这两个区的相同性可保证一组交换数据被成功地 接收。用于指示具有交换控制参照符A143的UNZ段含有7个功能组,将以UNZ+7+A143′的形式传输。对于还没使用功能组并具有同样参照符的传输 以及含有2500条信息的传输,UNZ段应以UNZ+2500+A143′的形式传输。
  (4) 功能组头--UNG段
  使用功能组的主要好处在于它允许具有多功能处理的大部门或数据处理中心产生他们自己可标识的应用数据包裹,此包裹能从一个起始部门发送到接收方部门的系统。
  一个功能组的头部包括如下信息:
  功能组中报文类型的标识符;发送者的标识符(如:组织的名称);接收者的标识符;传输的日期和时间;功能组参照符;对报文结构类型的部门责任;报文类型的版本;口令
  一个功能组(具有段代码(UNG))可以下列形式传输:
  UNG+INVOIC+15623+23457+960405:1835+CD1352+UN+89:1+A3P52′
  其中:UNG是段标记代码;
  INVOIC(功能组中报文类型的标识符)是功能标识,常用来标识包含在功能组中的报文的类型,这里表示是发票(INVOICE)报文;
  15623(发送者的标识符)是发送方的标识,它是一个用来标识某个特殊的单位、部门、地区等项目的代码,来自包含在功能组中的报文,或对包含在功能组中的报文负责。如果需要,数据元可以包含一个限定符的次要分量,用来标识正在使用的代码集;
  23457(接收者的标识符)是接收方的标识,它是一个用来标识特殊单位、部门、地区等项目的代码,对此代码,最终要指定功能组中的报文。如有必要,它也可能受到标识正在使用的代码集的次要分量所限止;
  960405:1835(传输的日期和时间)是汇编在一起的报文功能组的日期和时间,这里的日期和时间常常先于UNB中的日期和时间;
  CD1352(功能组参照符)是用于功能组的惟一参照符的号码,由部门分配;
  UN(对报文结构类型的部门责任)是控制机构代码,对于包含在组中的报文类型,用它来标识对报文标准负有制定与维护责任的机构;
 89:1(报文类型的版本)是组中所有报文的版本号与发布号。该组的报文必须有同样的报文类型,对于指定代码的应用,复合数据应包含一个附加成分数据 元。应注意到,如果环境要求在分配代码区的联系中存在一个号码,作为复合需要的相同数据便不会在报文头UNH的相同区重复,而该服务段优先于功能组中的每 条报文;
  A3P52(口令)是一个应用口令,并且是段中惟一的条件型的数据元,其余均为强制数据元。如果规定了交换协议(或双方协商)并获得许可进入将要进行处理的该功能组的用户系统时,则使用口令。
  (5) 功能组尾--UNE段
  一个功能组的尾部包括如下信息:
  功能组中的报文数;功能组参照符(与UNG中的值相同)。
 除了段代码UNE外,此服务段包含两个强制型服务数据元。第一个数据元是"报文数目",它包含功能组中报文的总数。第二个数据元是"功能组参照符",它 包含与UNG中值相同的参照符,此参照符作为功能组在相同的UNG段中传送,检查这两个数据元是否相同,以保证功能组被成功接收。若一个功能组的参照符为 CD1352,具有72条报文的功能组尾,则以下列形式传输:UNE+72+CD1352′。
  (6) 报文头--UNH段
  此段用于数据及服务段,其段代码为UNH。它包含两个强制型服务数据元:
  报文参照符;报文标识符
  报文标识符是一个复合数据元,它有五个成分数据元:

  • 报文类型 (强制型)
  • 报文版本号 (强制型)
  • 报文释放代码 (条件型)*
  • 控制机构 (条件型)*
  • 联合分配机构 (条件型)*

   (7) 报文尾--UNT段
  报文的尾部包含如下信息:

  • 报文内的段数
  • 报文参照符(与UNH中的值相同

   除了段代码UNT外,该段包含两上强制型服务数据元。第一个是报文中段的数目,它包含了报文中的全部段的总数目,并包括了UNH和UNT段。第二个是报文参照符,它包含同样的参照符,该参照符对同样的报文可在UNH报文头段的相同区中传送。


图7.11 一次交换的层次结构

  在贸易伙伴的计算机系统之间建立一次联接后,可以进行一次或多次交换。图7.11表示了一次交换从交换级到数据元级的层次结构。
  4.段和数据元的压缩、重复与嵌套
 在EDIFACT应用级语法规则中定义了段和数据元的压缩、段的重复和嵌套。EDI报文的压缩可采用段和数据元的压缩来实现,可用段删除、省略法和截断 法来删除数据元或成分数据元。对于数据元目录中规定长度可变的和没有其他限制的数据元应压缩无效字符,也就是压缩或删除数据元值的前导零和尾随的空格。
  (1)段和数据元的压缩
 所谓段压缩就是删除不含数据的条件段(包括其段标记)。因为在组成一个报文的所有段中,有些段是可选的,在一些情况下,选用这些段来描述一些信息,而在 另一些情况下,这些段没有被使用,所有的未被选中的可选段都可以删除,以便节约空间,缩短报文长度,这在进行通信传输时非常有利。
  数据元是 用它在段中的序列位置来标识的,当一个可选型数据元没有被选用时,可以省略该数据元,但必须保留它的数据元分隔符来指示它的位置,以便接收者能够正确理解 报文的含义,这就是数据元的省略删除法。如果在某段的尾部有一个或多个可选型数据元被删除,可用段的终止符来截断该段,并且不必保留其后的数据元分隔符, 这就是数据元的截断删除法。
  同样的,在一个复合数据元内部的成分数据元是由它们给出的顺序位置标识的,省略法删除成分数据元是当需要省略可选 型成分数据元时,仅用保留它的成分数据元分隔符来指示它的位置;截断法删除成分数据元是在段的尾部用段终止符或者在复合数据元尾部用数据元分隔符来截断一 个或多个未被选用的条件型成分数据元,不必保留尾随的成分数据元分隔符。
  段的压缩和数据元的删除都是针对可选型段或数据元的,目的是去掉无意义的内容,使报文变得短小精炼,这是对报文的优化措施。但是要把需要说明的内容表示清楚。
  (2)段的重复与嵌套
 段的重复是指同一个段可以在报文中多次出现,段的重复有显式重复指示和隐式重复指示两种形式。段的显式重复是指在段标记中,第一个成分数据元是段代码, 而位于最后的成分数据元的值指出段的重复次数。隐式重复是通过段的顺序位置的标识,隐含地指示段的重复,这时,报文中的段应严格按照报文类型规定的顺序出 现。
  一个段中的数据元也可以多次重复,但重复次数不能超过相关段目录中规定的次数。如果少于规定的次数,可以应用相应的方法对其进行省略或截断。
  对于许多类型的报文来说,一个实际存在的要求就是需要重复报文中的一些段。例如,一张发票可以包含很多项目,而每个项目可包含产品代码、质量、价格等,也就是说这些项目的内容、结构是相同的。这就是重复段的现实需求。
 有时一个段的几次重复可能发生在一个已经重复过的段中,这就是段的嵌套。例如,一个集装箱中可能有几种物品或在一次交付中有几个集装箱,物品项目的数据 元便汇集在一个重复的数据段中,而每个集装箱详细情况汇集在另一个高层的重复数据段中,与段的重复相似,段的嵌套也有显式嵌套和隐式嵌套两种指示方式。
 段的显式嵌套是在段标记中指出的,段标记的第一个成分数据元是段代码,后随的成分数据元指出段的嵌套层次,两者以成分数据元分隔符隔开。隐式嵌套是通过 段在报文中的顺序,按照从上下到下,从左到右的规则隐式指示段的嵌套,段之间的嵌套关系是隐含的,处理时无需再进一步指示。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29910447/viewspace-1700534/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29910447/viewspace-1700534/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值