Apple EDI X12 业务报文解析(一)—— 850采购订单

2023-10-14 12:58

本文主要是介绍Apple 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~
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

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*>~
  • 1

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~
  • 1

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

GE*1*1~
  • 1

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

IEA*1*000000001~
  • 1

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

业务部分segment

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

ST*850*0001~
  • 1

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

BEG*00*DS*0592608583**20140928~
  • 1

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

REF*SB*ZZ11~
REF*6P*ZZ~
REF*8M*0056~
REF*CR*XXXXXXX123~
  • 1
  • 2
  • 3
  • 4

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

PER*CN*ZHIXING~
  • 1

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

CSH*BK~
  • 1

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

TD5*Z*2*XUPSC02~
  • 1

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

N1*BY*ZHIXING*92*5601~
N1*ST*XIAN*92*0000858638~
  • 1
  • 2

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

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

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

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

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

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

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

SCH*5000*EA***002*20140928~
  • 1

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

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

这篇关于Apple EDI X12 业务报文解析(一)—— 850采购订单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210658

相关文章

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler