最近新接到一个项目需要处理edi格式的文件,搜了网上的一部分内容,最后在(http://www.edi-services.com/) 中找到比较明确的内容。
下面以一个订购单的edi文件为例简单的说明下edi文本的解析规则。
ISA*00* *00* *08*6120930000 *12*9197472911 *06071
0*1925*U*00401*000000258*0*P*<~
GS*PO*6120930000*9197472911*20060710*1925*258*X*004010~
ST*850*2580001~
BEG*00*SA*1005061183**20060710~
REF*IA*513141~
CSH*N~
SAC*N**VI*OHNS~
ITD*08**1.000**10**30*****1.000 % 10 Net 30~
DTM*001*20060729~
DTM*010*20060722~
N1*BY*TSC*92*1113~
N3*115 GREYSTONE POWER BOULEVARD~
N4*DALLAS*GA*30157~
PO1*10*12*EA*3.14**IN*2405670*VN*1057*UP*023851010578~
CTT*1~
SE*14*2580001~
GE*1*258~
IEA*1*000000258~
基本概念
- 分隔符 分隔符‘*’将每个字段分割开;
- 元素 edi文件中每个字段为一个元素。在这个订单中,“PO”和“00”就是元素;
- segment 一组元素组成一个段。比如ISA指定订单的开始,其他的seg都紧跟在‘~‘’之后;
- 每个seg都有多个element,通过计算‘*’的个数可以找到指定的元素。比如ISA01代表的就是ISA字段之后的第一个元素;
850的解析
每一个850文件中可能包含多个订单(order),每个订单中可能包含多个物品(item)。
字段ST标志一个订单的开始,SE标志一个订单的结束;在每个订单中,PO1字段表示一个物品的开始。
其他的详细信息可以依照对应公司的标准850文档获得详细的信息。
网友评论