ASC X12(Accredited Standards Committee X12)是由American National Standards Institute (ANSI)推行的EDI标准,包括一套标准和相应的消息定义的业务文档,广泛应用在各个行业。RSSBus Connect是ASC X12的一员。Apple EDI项目所涉及的X12业务报文主要有850(Purchase Order )、855(Purchase Order Acknowledgment )、860( Purchase Order ChangeRequest )、856(Ship Notice/Manifest )、846( InventoryInquiry/Advice )、810( Invoice )。本篇我们先对采购订单850 X12业务报文进行解析,希望可以帮助到您。
X12 850是一个采购订单,用于订购商品或服务。一般来说,850提供的信息与纸质版采购订单文件上的信息一致,包括:订单的种类、价格及数量、运输详情、支付条款、折扣等信息。如果要对X12 850报文进行翻译,我们需要知道X12 850报文的格式及字段对应的意义,以下是对Apple 850 EDI报文格式及字段的解析,希望会帮助您了解并读懂X12 850报文。
标准的EDI X12报文格式数据类型类似文本文件,被segment、element和sub-element分隔符分开,可用文本编辑器(如Notepad、Sublime)打开。
标准EDI X12 850报文组成
1 | ISA*00* *00* *14*TESTXXXXXX *ZZ*TEST01XXXXXXXXX*140928*2141*U*00401*000000001*1*T*>~ |
segment标识: 如上代码中的ISA、GS、ST、BEG、REF、CSH、TD5、PO1、PID等
segment分隔符: 如上代码中的~(波浪字符)
element元素: 每个segment都包含着多个element
element分隔符: 每个segment中的多个element被element分隔符分隔,如上代码中的*(星号)
对850 X12报文中每个segment的具体解析
ISA、GS 、GE、IEA segment
ISA、GS 、GE、IEA segment是EDI 报文的头尾部信息,ISA、GS与GE、IEA是两两成对的segment
1 | ISA*00* *00* *14*TESTXXXXXX *ZZ*TEST01XXXXXXXXX*140928*2141*U*00401*000000001*1*T*>~ |
ISA segment: 在ISA segment中我们需要关注的是ISA06/08/09/10/12/13/15,ISA06/08表示Sender/Receiver Identifier;ISA09/10表示该EDI报文创建的日期与时间;ISA12表示报文执行的EDI标准(比如上述代码中的国际标准00401);ISA13表示ISA number,可以是流水码,我们可以根据ISA number查找该文件;ISA15表示该报文是正式报文(P)还是测试报文(T)。
1 | GS*PO*TEST03XXXX*TEST04XXXXXX*20140928*2141*1*X*004010~ |
GS segment: GS01表示该EDI报文的业务类型,如上代码中的PO表示采购订单;GS02/03表示Sender/Receiver Identifier;GS04/05:表示该EDI报文创建的日期与时间;GS08表示报文执行的EDI标准。
1 | GE*1*1~ |
与GS segment成对出现,GS02与GS06相同。
1 | IEA*1*000000001~ |
与ISA segment成对出现,IEA02与ISA13相同。
业务部分segment
从ST segment到SE segment是对850采购订单业务值的描述:
1 | ST*850*0001~ |
ST segment: ST01表示EDI 报文类型,比如850表示采购订单。
1 | BEG*00*DS*0592608583**20140928~ |
BEG segment: BEG03表示订单号,BEG05表示订单日期。
1 | REF*SB*ZZ11~ |
REF segment: 是对一些识别信息的描述,REF01表示信息类型(比如SB表示销售区域、6P表示分组号、8M表示原公司代码、CR表示客户代码、CO表示客户订单号等),而REF02就是该类型信息的具体的描述了。
1 | PER* *ZHIXING~ |
PER segment: 是对通讯信息的描述,PER01表示实体类型,PER02表示联系人名称,PER04表示联系人电话。
1 | CSH*BK~ |
CSH segment: CSH01是对需求类型的描述(BK表示Ship Partial - Balance Back Order、SC表示Ship Complete)。
1 | TD5*Z*2*XUPSC02~ |
TD5 segment: TD503是对运输方式的描述。
1 | N1*BY*ZHIXING*92*5601~ |
N1 segment: 是对订单中涉及的相关实体的描述,N101表示实体类型(比如BY表示买方),N102表示对应的实体编号。
1 | N3*RSSBUS*XIAN KAIFAQU~ |
N3 segment: 是对实体地址信息的描述(街道详细信息)。
N4 segment: 是对实体地理信息的描述(国家/省份/邮编等信息)。
1 | PO1*00010*5000*EA*2.33*PE*BP*XXXXXX~ |
PO1 segment: 是对采购订单明细信息的具体描述(商品编号/数量/单价)。PO101表示该订单的行号,PO102表示数量,PO103数量单位,PO104表示单价,PO105表示价格单位,PO107表示商品代码。
1 | PID*F****A001,C001,L01,X147****EN~ |
PID segment: 是对商品属性的描述。
1 | SCH*5000*EA***002*20140928~ |
SCH segment: 是对要求到货日期的描述。