X12学习手册

news2024/11/13 16:26:54

EDI术语中的X12是指ANSI X12 报文标准(EDI Document Standard),于 1979 年发布,由认证标准委员会维护,在过去的几十年中得到扩展,以满足全球业务流程的要求,包括汽车、物流、零售、医药、金融、保险、运输、供应链和政府的要求。

X12使用ASC X12.58安全结构,该结构结合了身份验证、压缩、加密和保证,以保证电子数据交换文件以其原始格式到达其目的地,并且没有被篡改,同时向接收方保证它来自原始发送方。

如何读懂X12?

X12标准下的EDI报文结构

在认识X12标准下的EDI报文结构之前,首先需要了解3个EDI术语:

1.Interchange,代表了一次传输 2.Functional Group,代表一种类型的报文,例如需要在一次传输中传输856和810两种报文,那么就会有2个Functional Group 3.Transaction:代表一个报文,例如你在本次传输中传输3个856报文,那么就会有3个Transaction

X12_Learning_Manual1.png

EDI报文结构图中:

头部的ISA和结尾的IEA成对,组成了Interchange部分 头部的GS和结尾的GE成对,组成Functional Group部分 ST 和 ST 成对,中间包着业务数据,组成Transaction部分

EDI 850报文解析

以X12报文标准下的EDI 850 示例报文为例,详细解读EDI报文。 

X12_Learning_Manual2.png

 如上所示,这是一个850采购订单的EDI示例报文,每一行的开头,由2-3个字符组成,叫做Segment节点,代表特定的业务含义。

例如BEG开始的这一行代表了业务数据的开始以及单据主信息 DTM这一行代表时间信息 N1这一行代表实体信息,例如ship-to、ship-from 等信息都会被存放在这里

报文行解析

X12_Learning_Manual3.png

 我们再进入到某一行来具体看一下,其中*是每个数据元素的分隔符,也可按照实际情况设置为其他符号。120 是这一行的物料数量,它的位置是 PO102,有一些代码代表了特殊的业务含义,例如 EA 本身在报文里面就代表了物料的单位,类似的还有 PCS、KGM 等,除此之外,还有一些不是单独出现的代码,我们把它叫做限定符,用于限定右侧数据的含义,例如这个地方的 VN,它的意义是限定右边的数据意义为供应商物料编码,我们一看到 VN 后面的一串数据就知道供应商物料编码为 AB3542。

报文数据解析

了解了如何去阅读数据,我们再来详细地解析一下这一条 850 数据。 

X12_Learning_Manual41.png

报文的前两行包含了头部信息:

  • 授权控制符(ISA01):01
  • 安全限定符(ISA03):01
  • 发送方ID限定符(ISA05):ZZ
  • 发送方ID(ISA06):ABCDEFGHIJKLMNO
  • 接收方ID限定符(ISA07):ZZ
  • 接收方ID(ISA08):123456789012345
  • 文件生成时间(ISA09):101127
  • 控制标准 ID(ISA11):U
  • 控制版本号(ISA12):00400
  • 测试指示符(ISA15):P
  • 发送方 ID(GS02):4405197800
  • 接收方 ID(GS03):999999999
  • 日期格式(GS04):20101127
  • 时间格式(GS05):1421
  • 负责机构代码(GS07):X
  • ID 编码(GS08):004010VICS

在生成符合X12报文标准的EDI报文时,这些头部信息虽然并没有传输和业务相关的信息,但却包含了报文的发送方和接收方等基本信息。在下文中,我将会为大家介绍如何在知行之桥EDI系统中配置这些信息。

X12_Learning_Manual5.png

 例如要获取订单号,我们需要定位到 BEG 这一行,从左向右数第三个数据元素即 08292233294 就是我们要找的订单号,再比如我们需要找请求交付日期,按照EDI规范我们需要定位到 DTM 这一行,且条件是 DTM01=002,取 DTM02 这个元素,那么就是 20101214 ,就是要找的请求交付日期。以此类推,我们可以获取到报文中的关键信息。

以上就是基本的阅读 X12 报文以及获取业务数据的方法,虽然我们可以直接从 X12 报文中读取到数据,想必大家也可以感受到人工去阅读 X12 报文,并从中提取数据是非常麻烦的。

EDI报文设计的初衷就是为了方便计算机处理,直接去阅读报文对于开发人员来说可能是有意义的,例如可以用来对比收到的数据与原始数据是否一致。但对于 ERP 用户或者业务团队来说,很显然他们不需要去读原始的 X12 报文。 EDI 在整个数据交换的流程中扮演的更多的是一个传输、翻译的角色。

知行之桥EDI 系统X12端口

知行之桥EDI系统中的 X12 端口,能够实现X12的解析与生成。用户需要在X12端口的设置以及高级设置选项卡中配置上文提到的头部信息。

X12_Learning_Manual6.png

 

X12_Learning_Manual8.png

按照上文EDI示例报文中包含的头部信息在X12端口中进行配置之后,即可在输入选项卡下上传此示例报文。在输出选项卡下即可查看转换结果。

了解更多 EDI 相关信息,请阅读:EDI是什么?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1229429.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回顾以前的java

System.out.println(card1);打印的是对象的话会自动调用我们重写的toString方法 这个方法通常在Object类中定义,所有的Java类都继承自Object类 实例方法有个this,谁调用这个方法谁就是this 1.练习重写实例方法,调用this 调用object的equals,实际是判断地址相不相等…

ModernCSS.dev - 来自微软前端工程师的 CSS 高级教程,讲解如何用新的 CSS 语法来解决旧的问题

今天给大家安利一套现代 CSS 的教程,以前写网页的问题,现在都可以用新的写法来解决了。 ModernCSS.dev 是一个现代 CSS 语法的教程,讲解新的 CSS 语法如何解决一些传统问题,一共有30多课。 这套教程的作者是 Stephanie Eckles&am…

uniapp的/绝对定位/相对定位/固定定位/粘滞定位

【[html5]你还分不清楚绝对定位和相对定位......】 相对定位一般配合绝对定位使用 <template><view class"content"><view style"background-color: black;width: 100%;height: 300px;position:relative;"><view class"one"…

c++多态之辨析:静态联编和动态联编

C的几种多态形式 从广义上来说&#xff0c;多态性是指一段程序能够处理多种类型对象的能力。在C中&#xff0c;这种多态性可以通过重载多态&#xff08;函数和运算符重载&#xff09;、强制多态&#xff08;类型强制转换&#xff09;、类型参数化多态&#xff08;模板&#xff…

【Linux】命令lsof使用详解

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f…

想要成为CSS大师?这些技巧是你必须知道的!

前言 CSS 是网页设计中不可或缺的一部分&#xff0c;掌握一些实用的 CSS 技巧&#xff0c;可以让你在设计中展现出更多的创意和个性。本文将介绍一些 CSS 技巧&#xff0c;帮助你提升自己的技能&#xff0c;成为一个真正的 CSS 大师。 1. 改变 input 自动填充的背景颜色 这段 …

【Linux】缓冲区+磁盘+动静态库

一、缓冲区 1、缓冲区的概念 缓冲区的本质就是一段用作缓存的内存。 2、缓冲区的意义 节省进程进行数据IO的时间。进程使用fwrite等函数把数据拷贝到缓冲区或者外设中。 3、缓冲区刷新策略 3.1、立即刷新&#xff08;无缓冲&#xff09;——ffush() 情况很少&#xff0c…

MacOS - Cpolar 在 Mac 上如何使用?

1、下载并配置环境变量 brew tap probezy/core && brew install cpolar 2、 Token 认证 cpolar authtoken xxx 3、安装服务 sudo cpolar service install 4、启动服务 sudo cpolar service start 5、创建隧道 访问地址&#xff1a;http://127.0.0.1:9200&…

Vue3-provide 和 inject 跨组件传递数据

Vue3-provide 和 inject 跨组件传递数据 功能&#xff1a;将数据从App组件跨过一个组件传递到B组件中provide&#xff1a;提供数据inject&#xff1a;接收数据 // App.vue <template><h2>我是App组件&#xff08;{{num}}&#xff09;</h2><A></A&g…

UASRT(2)

UASRT参数配置 数据发送过程 1.双缓冲 当要发送三个数据 且是连续发送 第一个数据写入TDR寄存器 然后到移位寄存器发送&#xff08;一个一个bit的发送&#xff09;在第一个数据在移位寄存器发送的时候第二个数据就已经被写入TDR寄存器了等到第一个数据发送完第二个数据就进入…

2023年中国农业机器人行业市场规模及发展趋势分析[图]

农业机器人是一种机器&#xff0c;是机器人在农业生产中的运用&#xff0c;是一种可由不同程序软件控制&#xff0c;以适应各种作业,能感觉并适应作物种类或环境变化&#xff0c;有检测(如视觉等)和演算等人工智能的新一代无人自动操作机械。 农业机器人分类 资料来源&#xf…

基于单片机PM2.5监测系统仿真设计

**单片机设计介绍&#xff0c; 基于单片机PM2.5监测系统仿真设计 文章目录 一 概要简介设计目标系统组成工作流程仿真设计结论 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 基于单片机PM2.5监测系统仿真设计介绍 简介 PM2.5&#xff08;可吸…

3.8-镜像的发布

如果我们想将image push到docker hub里面&#xff0c;那么我们的image的名字一定要是这种格式&#xff1a;docker hub id/imageName&#xff0c;例如&#xff1a;lvdapiaoliang/hello-docker docker hub个人账户设置地址&#xff1a; 在push之前要先登录&#xff1a; docker l…

图神经网络:消息传递算法

一、说明 图网络-GNN&#xff08;Graph Neural Networks&#xff09;是近几年研究的主题之一&#xff0c;虽不及深度神经网络那么火爆&#xff0c;但在一些领域&#xff0c;如分子化学方面是不得不依赖的理论。本文就一些典型意义的图神经网络消息传递展开阐述。 二、图网络简述…

传输层协议 - UDP(User Datagrm Protocol)

文章目录&#xff1a; 传输层再谈端口号端口号划分知名端口号&#xff08;Well-Know Port Number&#xff09;netstat 命令iostat 命令pidof UDP 协议UDP 协议格式UDP 协议的特点面向数据报UDP 的缓冲区UDP 使用注意事项UDP 协议的应用基于 UDP 的应用层协议 在 DDoS 攻击中如何…

bhosts 显示节点 “unreach“ 状态

4.1、bhosts简单使用 查看各节点情况&#xff0c;包括状态和正在运行的 Job 情况等 STATUS列展示节点状态 OK&#xff1a;可用——可接受新的作业的正常状态 unavail&#xff1a;不可用 可能原因&#xff1a;主机关闭&#xff0c;LIM和sbatchd不可达 unreach&#xff1a;无法连…

关于LED显示屏的扫描方式知识

LED显示屏的扫描方式是指LED显示屏如何以一定的顺序控制LED点阵的亮度&#xff0c;从而形成图像或文字。主要有静态扫描和动态扫描两种方式。 静态扫描&#xff08;Static Scan&#xff09;&#xff1a; 描述&#xff1a; 在静态扫描中&#xff0c;LED显示屏的每个LED点都有一个…

【Java SE】 详解java访问限定符

访问限定符 Java中主要通过类和访问权限来实现封装&#xff1a;类可以将数据以及封装数据的方法结合在一起&#xff0c;更符合人类对事物的认知&#xff0c;而访问权限用来控制方法或者字段能否直接在类外使用。Java中提供了四种访问限定符&#xff1a; 实际只有三种访问限定…

Find My蓝牙耳机|苹果Find My技术与耳机结合,智能防丢,全球定位

蓝牙耳机就是将蓝牙技术应用在免持耳机上&#xff0c;让使用者可以免除恼人电线的牵绊&#xff0c;自在地以各种方式轻松通话。自从蓝牙耳机问世以来&#xff0c;一直是行动商务族提升效率的好工具。正是应为蓝牙耳机小巧无线&#xff0c;人们越来越喜欢随身携带蓝牙耳机出门&a…