项目背景
J公司需要与国内某知名电机品牌Z公司建立EDI对接,J公司选择通过知行EDI系统与Z公司建立AS2连接,通过AS2接收Z公司发送过来的ORDERS(采购订单)和ORDCHG(采购订单变更),并根据发接收到的ORDERS和ORDCHG报文向Z公司回复ORDRSP(订单反馈)报文。
EDI 解决方案
1.传输协议
本次传输Z公司采用AS2传输协议,AS2 是一个基于 HTTPS 的 B2B 协议,在零售、金融和医疗保健行业应用非常广泛,其目标是为电子数据交换(EDI)通信提供安全性、可靠性和不可抵赖性。
2.报文标准
业务报文 | 业务含义 | 传输方向 |
ORDERS | 采购订单 | Z公司发送给J公司 |
ORDCHG | 订单变更 | Z公司发送给J公司 |
ORDRSP | 订单反馈 | J公司发送给Z公司 |
ORDERS(采购订单):Z公司向J公司发送采购订单报文,其中包括采购方信息、收货方信息、物料信息、数量信息等等。
ORDCHG(采购订单变更):Z公司有订单变更请求的时候,向J公司发送采购订单变更报文,其中包括采购方信息、收货方信息、物料信息等等。
ORDRSP(订单反馈):J公司接收到Z公司发送的采购订单/采购订单变更报文后,向Z公司回复,订单反馈报文,其中包括供应商信息、物料信息、数量信息、交货日期信息等等。
项目实施
建立AS2 连接
J公司通过AS2与Z公司进行连接以及文件传输,需要Z公司提供其AS2 ID、交易伙伴 URL以及Z公司用于签名加密的证书。需要注意的是:AS2端口勾选的TLS版本必须与交易伙伴一致,否则可能会无法访问对方提供的交易伙伴URL。
数据格式转换
接收方向:需要将Z公司发送给J公司的ORDERS和ORDCHG报文转换成数据库XML文件,并将数据写入J公司的数据库表格中
发送方向:J公司将数据推入数据库中,EDI系统定时读取数据库信息,将读取到的数据转换成EDI报文
工作流设计
J公司与Z公司EDI项目工作流如图所示
项目回顾
本次EDI实施中,关于J公司向Z公司发送的订单反馈报文,J公司只能在订单反馈中变更物料行项的交期,不能变更物料行项的其他信息,否则该反馈Z公司将无法处理。
在发送订单反馈报文的相关业务数据时,J公司作为供应商会面临两种情况,一种是:所有货物均已备齐,可以按照采购订单中的日期或是与Z公司协商好的发货日期一次性将货物发出,另一种情况是:目前发货能力不满足订单中的要求,经过协商后,将订单中的货物先发一部分,剩下的再按照协商好的日期进行发货。因此,J公司的订单反馈分为正常发货和分批发货两种情况。
在设计数据库表格的时候,将发货日期进行了区分,如果是正常发货,则填写正常发货日期字段,关于分批发货的已发货数量、未发货数量、已发货日期和未发货日期均不需要填写;如果是分批发货,除正常发货日期需要留空,其余字段都需要进行填写。
如图所示为ORDRSP中关于明细部分的数据库表格字段设计:
正常发货时,所有的物料将同时发送,需要发送物料信息、数量信息、发货时间信息等等。生成的EDI报文中,每一个循环的物料信息中只包含一个关于物料数量和时间的字段。正式发货EDI字段:
分批发货时,需要发送物料信息、总数量信息、分批发货相关的已发货数量和已发货时间信息、未发货数量和未发货部分预计发货时间信息等等。订单中已发货数量和未发货数量,已发货数量对应的日期和未发货对应的日期都需要在数据库表格中进行区分,生成的EDI报文中,对应的总数量以及分批发货的数量和时间都有相应的字段生成。分批发货EDI报文:
更多 EDI 信息,请参阅: EDI 是什么?
阅读原文