EDI X12 Structure (一)

时间:2024-04-15 16:14:10

一、前言

  上一篇文章我降到了AS2的传输模式,本篇我着重讲一下EDI X12标准,尽量把它说的比较明白,而X12包含的种类报文,比如订单、出货、发票等等,我打算下一篇讲,一个个的讲,当然,仅仅限于我比较熟悉的

二、EDI X12标准的传输流程

  这个我没在网上找到现成的,那只能自己划,以订单为例

  

 

 

  1、订单X12 850生成后通过加签加密生成EDIINT 上一篇有说加签加密的事情)

  2、发送EDIINT到对方EDI系统

  3、对方接到EDIINT后会回复EDIINT MDN,如果回复的MDN正常,代表已经成功发送且对方解密验签EDIINT成功

  4、对方解析报文,解析出X12 850订单报文

  5、对方EDI系统校验该X12 850报文,校验结果生成X12 997,该997包含校验结果成功或者error,error会在997中体现出来

  6、X12 997以EDIINT的形式进行发送(1,2步骤内容)

  7、业务系统拿到校验后的X12 850,进行业务处理,处理结果返回EDI系统,生成X12 855通过EDIINT方式返回

 

三、X12 标准报文实例及Envelope讲解

  报文示例,本示例是一个X12 855

ISA*00*          *00*          *ZZ*A_ISA            *ZZ*B_ISA           *200326*0835*U*00403*000405272*0*P*:

GS*PR*A_GS*B_GS*20200326*0835*000405202*X*004030

ST*855*260835586

BAK*00*AD*111220000047405*20200326

PO1*1*165**165.3598****SE*90NB0IR6-M13110*UP*192876572917*EN*4718017572910

ACK*IA*165*EA*139*00000000

SE*5*260835586

GE*1*000405202

IEA*1*000405272

  X12采用了一种独特的信息格式,有点类似于我们邮寄信件,它包含三层Interchange Envelope(ISA层)、Function Group(GS、GE层)、Transaction Set(业务信息层ST-SE)。如下图,结合上面的报文示例,

 

 

 

  Interchange Envelope(ISA、IEA层)

 

   Interchange Envelope层有点像我们的信封,信封包裹着信件,其中一个Interchange Envelope层可以包含不同类型的Function Group,但是一个Function Group只能包含一种类型的信息。比如目前我有3个订单850信息、2个订单修改860信息,我想放在一条信息发送,那么的信息形式就是一个Interchange Envelope里面包含两个Function Group,一个Function Group包含3个850的st-se,另外一个Function Group包含2个860的st-se。

  Interchange Envelope的开始ISA开始的结尾是已IEA结尾的,其中*号是分隔符

ISA*00*          *00*          *ZZ*A_ISA            *ZZ*B_ISA           *200326*0835*U*00403*000405272*0*P*:
*****
IEA*1*000405272

  Interchange Envelope Header(ISA):

  ISA:开始标识

  ISA01:授权信息

    00:不存在任何授权信息,这里是00

    01:UCS 通信ID

    02:EDX 通信ID

    03:其他数据标识

    04:铁路通信ID

    05:美国国防部(DoD)通信标识

    06:美国联邦*通信标识

    07:卡车通信ID

    08:海运通信ID

  ISA02:ISA01取00的时候ISA02不用赋值

  ISA03:安全限定符,这里是00

    00:不存在任何安全信息

    01:密码

    03:密码(用于向后兼容)

  ISA04:当ISA3取00时,ISA4不用赋值

  ISA05:发送方ID限定符,这里是ZZ

    1:DUNS

    10:美国国防部

    11:美国麻醉品管理局

    12:电话号码

    .....(中间省略很多标识,不过都是各种国家单位,忽略)

    ZZ:双方约定(X12)

  ISA06:Send ID 发送方的ISA ID(做edi的都这么叫。。。)这里是A_ISA

  ISA07:(和ISA05一样的),这里是ZZ,以下是解释

    

 

     

 

     

  ISA08:接收方ID 也就是接收方的ISA ID,这里是B_ISA

  ISA09:交互日期这里是200326,也就是20年3月26

  ISA10:交互时间,这里是0835

  ISA11:交互标准标识符,这里是U,这里只有两个选择一个是标准标识符U一个是使用重复分隔符,可自定义

  ISA12:X12版本,这里是00403,标识X12 4030标准当然也是4010等

  ISA13:ISA号码,唯一号码,可以从00000001开始。

  ISA14:0标准不需要反馈,1表示需要反馈这里是0

  ISA15: T,表示测试数据;P,表示生产数据,这里是T

    Interchange Envelope Trailer(IEA):

  IEA01:这个Interchange Envelope包含几个Function Group,这里是1个

  IEA02:ISA号  和上面的一样

 

以上就是针对Interchange Envelope的解析,如有错误,欢迎留言