Apple EDI X12 业务报文解析(一)—— 850采购订单_知行EDI顾问Alisa的博客-程序员秘密

技术标签: AS2  Apple EDI  苹果edi  X12 850  案例  

对Apple 850 X12订单报文格式的解析

最近在做Apple EDI项目的实施,实施过程中读懂EDI X12业务报文是关键的一步,所以对Apple EDI规范及X12业务报文进行了学习,借此机会,给大家分享下Apple EDI各种业务报文及内容的含义,希望可以帮助您快速看懂EDI X12报文。

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报文组成

ISA*00*          *00*          *14*TESTXXXXXX     *ZZ*TEST01XXXXXXXXX*140928*2141*U*00401*000000001*1*T*>~
GS*PO*TEST03XXXX*TEST04XXXXXX*20140928*2141*1*X*004010~
ST*850*0001~
BEG*00*DS*0592608583**20140928~
REF*SB*ZZ11~
REF*6P*ZZ~
REF*8M*0056~
REF*CR*XXXXXXX123~
PER*CN*ZHIXING~
CSH*BK~
SAC*C*ZZZZ**********06~
TD5*Z*2*XUPSC02~
N9*ZZ*XXXX~
MSG*http:XXXXXXXXXXXXXX.pdf~
N1*BY*ZHIXING*92*5601~
N1*ST*XIAN*92*0000858638~
N2*XIAN*ZHIXING~
N3*RSSBUS*XIAN KAIFAQU~
N4*SHANXI, XIAN PROVINCE**710000*CN*SP*100~
PO1*00010*5000*EA*2.33*PE*BP*XXXXXX~
PID*F****A001,C001,L01,X147****EN~
REF*CO*7282973909~
REF*LI*000010~
SCH*5000*EA***002*20140928~
CTT*1*5000~
SE*24*0001~
GE*1*1~
IEA*1*000000001~

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

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)。

GS*PO*TEST03XXXX*TEST04XXXXXX*20140928*2141*1*X*004010~

GS segment: GS01表示该EDI报文的业务类型,如上代码中的PO表示采购订单;GS02/03表示Sender/Receiver Identifier;GS04/05:表示该EDI报文创建的日期与时间;GS08表示报文执行的EDI标准。

GE*1*1~

与GS segment成对出现,GS02与GS06相同。

IEA*1*000000001~

与ISA segment成对出现,IEA02与ISA13相同。

业务部分segment

从ST segment到SE segment是对850采购订单业务值的描述:

ST*850*0001~

ST segment: ST01表示EDI 报文类型,比如850表示采购订单。

BEG*00*DS*0592608583**20140928~

BEG segment: BEG03表示订单号,BEG05表示订单日期。

REF*SB*ZZ11~
REF*6P*ZZ~
REF*8M*0056~
REF*CR*XXXXXXX123~

REF segment: 是对一些识别信息的描述,REF01表示信息类型(比如SB表示销售区域、6P表示分组号、8M表示原公司代码、CR表示客户代码、CO表示客户订单号等),而REF02就是该类型信息的具体的描述了。

PER*CN*ZHIXING~

PER segment: 是对通讯信息的描述,PER01表示实体类型,PER02表示联系人名称,PER04表示联系人电话。

CSH*BK~

CSH segment: CSH01是对需求类型的描述(BK表示Ship Partial - Balance Back Order、SC表示Ship Complete)。

TD5*Z*2*XUPSC02~

TD5 segment: TD503是对运输方式的描述。

N1*BY*ZHIXING*92*5601~
N1*ST*XIAN*92*0000858638~

N1 segment: 是对订单中涉及的相关实体的描述,N101表示实体类型(比如BY表示买方),N102表示对应的实体编号。

N3*RSSBUS*XIAN KAIFAQU~
N4*SHANXI, XIAN PROVINCE**710000*CN*SP*100~

N3 segment: 是对实体地址信息的描述(街道详细信息)。
N4 segment: 是对实体地理信息的描述(国家/省份/邮编等信息)。

PO1*00010*5000*EA*2.33*PE*BP*XXXXXX~

PO1 segment: 是对采购订单明细信息的具体描述(商品编号/数量/单价)。PO101表示该订单的行号,PO102表示数量,PO103数量单位,PO104表示单价,PO105表示价格单位,PO107表示商品代码。

PID*F****A001,C001,L01,X147****EN~

PID segment: 是对商品属性的描述。

SCH*5000*EA***002*20140928~

SCH segment: 是对要求到货日期的描述。

以上便是对Apple EDI X12 850报文的具体解析,希望可以帮助您看懂EDI 850报文,后续会对Apple其他的业务报文进行解析分享,同时欢迎大家留言沟通交流(#.#)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kasoftware_test/article/details/85073618

智能推荐

Linux安装MySQL详细步骤_linux 安装mysql_yuwenS.的博客-程序员秘密

文章目录1、Linux安装数据库的详细步骤1.1、安装前期准备1.2、具体安装步骤1.2.1、解压mysql压缩文件1.2.2、进入解压后mysql文件中建立data文件夹1.2.3、创建一个新Linux用户,用来执行mysqld命令1.2.4、初始化mysql1.2.5、启用安全功能1.2.6、修改mysql安装目录权限1.2.7、启动mysql1.2.8、登录mysql1.2.9、修改root密码1.2.10、授权远程访问1、Linux安装数据库的详细步骤1.1、安装前期准备这里介绍的是本地数据

网络课实验 —— NAT网络地址转换的配置_nat translations_LaoYe - IT的博客-程序员秘密

目录结构一、前言二、实验原理三、实验要求二、网络拓扑图四、内网环境的搭建五、配置静态路由六、配置NAT一、前言 NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,...

饿了么UI/element Popconfirm气泡确认框 confirm事件_element气泡确认框_风尚云网的博客-程序员秘密

饿了么UI/element Popconfirm气泡确认框 confirm/cancel事件 很多人会发现,不知道怎么用,或者用不了,废话不多说:上代码:方法必须是 @onConfirm="successconfirm()" @onCancel="successcancel()"不这样就无法使用方法:...

Android多个GLSurfaceView共享上下文_码屌的博客-程序员秘密

Android多个GLSurfaceView共享上下文话不多说,直接上代码在开发中,经常会使用多个GLSurfaceView,多个GLSurfaceView需要共享一个纹理,那么怎么来实现呢话不多说,直接上代码package com.yl.jumu;import android.opengl.GLSurfaceView;import android.util.Log;import javax.microedition.khronos.egl.EGL10;import javax.micro

右键“在此处打开命令行窗口”的一个小秘密_abpwben298703的博客-程序员秘密

我们都知道windows7开始,提供了一个便于从当前文件夹打开cmd命令行窗口的快捷方式:Shift+鼠标右键==>“在此处打开命令行窗口”如此,就能快速的在当前目录打开cmd窗口,以执行命令。今天,在配置ant的环境变量时,添加了ant的bin目录到path变量中后,使用上述方式打开了想要build的工程的目录,输入ant命令,一直提示:'ant' 不是内部或外部命...

戴尔服务器r530 windows server 2012 r2 安装无法找到install.wim 错误代码0x80070026,以及制作U启动盘决解ISO文件超过5G大小限制的解决方案_啊拉丁的鱼的博客-程序员秘密

戴尔服务器r530 windows server 2012 r2 安装无法找到install.wim 错误代码0x80070026,以及制作U启动盘决解ISO文件超过5G大小限制的解决方案关于在戴尔服务器上安装windows server 的一些基础的需要注意的问题在我的另一篇文章里有说明《点击打开链接》,这里不再重复。这里要讲的是怎么解决标题说的两个问题。新购买的戴尔powera

随便推点

SQLServer 中实现类似MySQL中的group_concat()函数的功能_familychase的博客-程序员秘密

SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起。后在网上查找,找到了可以实现此功能的方法,特此记录下。SELECT a, stuff( (SELECT '-' + b FROM tb WHERE a = t.a FOR xml path('') ), 1, 1, '' )AS b from tb AS tGROUP BY a;先对a列进行分组,对分组中的b以Xml形式输出,再使用stuff将开关多出的

去掉EM标签斜体样式_weixin_33904756的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

lsqcurvefit函数的基本用法_Boxn Hen的博客-程序员秘密

本文讲解lsqcurvefit函数的基本用法:一.lsqcurvefit函数的简单使用格式:x = lsqcurvefit(fun,x0,xdata,ydata);[x,resnorm] = lsqcurvefit(fun,x0,xdata,ydata),lsqcurvefit函数主要应用于非线性优化问题lsqcurvefit函数优化说明:输入xdata(数组),在fun函数中运算得出结果,与ydata(数组)进行比对,调整x的取值,使最后的x取值满足最小二乘法意义下的残差平方和最小。二.示例

网络基础(一)【解决mininet中xterm域名无法解析的问题】_MartaYang的博客-程序员秘密

mininet是一个很好用的网络仿真实验平台,基于网络命名空间技术的python封装。我是在linux虚拟机中安装了mininet环境$ sudo mnmininet> xterm h1 h2启动一个xterm程序,然后wget一下百度的官网h1 # wget www.baidu.com发现报错了,说域名无法解析。然而回到虚拟机单独起一个终端,也wget一下百度...

Mac平台下修改Jupyter默认目录及终端下运行命令 jupyter notebook 出现 command not found_「已注销」的博客-程序员秘密

mac OS平台下修改Jupyter默认目录在终端运行命令:jupyter notebook --generate -config,(注意generate前面是–,英文状态下的减号两个;后面的那个“-”前后都没有空格)得到/Users/XXXX/.jupyter/jupyter_notebook_config.py路径("XXXX"为具体用户名)其中jupyter_notebook_conf...

推荐文章

热门文章

相关标签