项目背景
艾睿电子 Arrow 通过遍布全球90多个国家和地区的465多个地点构成的全球网络,为超过125,000家原始设备制造商、合约制造商和商业客户提供服务。庞大的客户群体使得艾睿电子 Arrow 需要在短时间内处理大批量的业务数据,这对数据传输的准确性和效率要求很高。因此艾睿电子 Arrow 大力推动其客户通过EDI与其建立连接,实现自动化地业务数据传输。
项目挑战
通过传统的邮件等通讯工具发送订单,会花费大量的人力成本,无法保证录入数据的准确性,并且数据传输的时效性不高。艾睿电子 Arrow 的合作伙伴—— E 公司,在项目前期沟通时,其业务人员告诉我们,在接入 EDI 之前,一个业务员管理多客户,由于手头订单数据积累,收到一条订单数据可能要按顺序排期近一月时间才能顺利地进入 E 公司的 ERP 系统,严重影响业务部门的工作效率。
对E公司而言,搭建 EDI ,一方面满足了艾睿电子 Arrow 提出的需求;另一方面通过 EDI 系统传输业务数据,能够降低人工录入的错误率,实现业务数据的实时交互,提高生产效率,节省供应链维护和使用成本。帮助企业整合供应链,实现精益生产。
项目需求
传输协议:AS2、VAN、OFTP
艾睿电子 Arrow 支持AS2、VAN、OFTP三种方式,优先选择 AS2 传输协议,目的在于通过 Internet 安全可靠的传输商业文档。首先通过数据加密和数字签名生成数据包,然后基于https 进行安全可靠的数据交换。
业务报文:EDIFACT
艾睿电子 Arrow 的业务模式主要分为两大类,CP(AOI) 模式和 VMI(SOI) 模式。
VMI(SOI) 模式:类似于寄售模式,含有 INVRPT (库存报告)报文。供应商将物料产品发给艾睿电子 Arrow ,艾睿电子 Arrow 代为销售。供应商会根据艾睿电子 Arrow 实际的库存消耗数量(即实际的售出数量)开具发票,艾睿电子 Arrow 再根据发票进行付款。
CP(AOI)模式:传统的订单模式,不含 INVRPT (库存报告)报文。供应商先根据艾睿电子 Arrow 发送的交货预测计划进行原料采购,再根据正式的采购订单进行实际生产的安排。生产好的产品发给艾睿电子 Arrow ,再将发货通知和发票一起回传给艾睿电子 Arrow ,艾睿电子 Arrow 就可以根据发货通知中的信息,联系自己的货代去拉货,并根据发票进行付款。
本次E公司对接艾睿电子 Arrow 的EDI项目中采用了AOI模式。
以上两种业务模式传输的业务报文类型有何异同呢?
SOI 模式和 AOI 模式都包括物料需求计划 DELFOR 、物料需求计划回复DELFOR-RSP 、发货通知 DESADV 、以及发票INVOIC 。
区别在于:
SOI 模式还包括:库存报告 INVRPT 。
AOI 模式还包括:订单 ORDERS 、订单变更 ORDCHG 、订单确认ORDRSP。
EDI 解决方案
基于知行之桥 EDI 系统建立 AS2 连接。E公司选择使用中间数据库方案,实现 EDI系统与 ERP 系统的集成。通过各自的接口来连接中间数据库表,实现从中间数据库表中存放和读取数据。目前支持的数据库有:MySQL、PostgreSQL、SQLite、SQL Server、Oracle等。
数据格式转换
艾睿电子 Arrow 发给 E 公司:
1.知行之桥 EDI 系统的AS2 端口与艾睿电子 Arrow 的EDI系统建立连接,并接收艾睿电子 Arrow 发来的符合EDIFACT标准的订单 ORDERS、订单变更ORDCHG以及物料需求计划DELFOR。
2.通过 EDIFACT 端口以及 XMLMap 端口将接收到的三种文件转换为目标 XML格式。
3.通过数据库端口将上述三种报文信息存放至中间数据库中。E公司的ERP系统可以从中间数据库中读取数据。
E 公司发给艾睿电子 Arrow :
1.E公司给艾睿电子 Arrow 发送文件,只需要 ERP 系统将指定的业务数据存放至中间数据库中,EDI系统将自动抓取数据。通过 Database 端口将数据转换为XML格式。
2.利用 XMLMap 端口以及 EDIFACT 端口,将 XML 格式的数据转换为符合 EDIFACT 国际标准的 EDIFACT 格式。
3.通过 AS2 端口将转换后的 EDIFACT 文件:物料需求计划回复 DELFOR-RSP、发货通知 DESADV、订单回复 ORDRSP 以及发票 INVOIC 发送给艾睿电子 Arrow 。
整体方案流程图:
![](https://i-blog.csdnimg.cn/blog_migrate/fbd32e4b657038c777627bc5f31d025d.png)
项目成果
与艾睿电子 Arrow 的 EDI 对接,示例工作流如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e3104bdf8b7d3f7396784a6bdb903b77.png)
项目回顾
1.HTTP切换至HTTPS
艾睿电子 Arrow 于2022年8月向E公司发出了初步通知,为了加强企业间数据传输的安全性,禁止通过 HTTP (80端口)向艾睿电子 Arrow 发送数据。E公司需要切换至 HTTPS(443端口) ,并向艾睿电子 Arrow 确认已成功切换。知行之桥 EDI 系统如何实现 HTTP 到 HTTPS 的切换呢?可以参考文章:
如何将文件接收地址 AS2 URL 中的 HTTP 修改为 HTTPS?
2.物料需求计划回复 DELFOR-RSP 中包含哪些信息?
E 公司接收到来自艾睿电子 Arrow 的物料需求计划 DELFOR 之后,需要回复物料需求计划回复DELFOR-RSP。这两个报文中传输的信息基本相同。区别在于:
物料需求计划 DELFOR 中会包含预计开始日期以及预计结束日期,而物料需求计划回复 DELFOR-RSP 中则不会有这两个日期信息,增加了预计到达日期。
在EDI报文中使用DTM字段来存放日期信息,物料需求计划 DELFOR中使用DTM+158及DTM+159表示预计开始日期以及预计结束日期:
DTM+158:20200303:102’
-158:开始日期限定符
DTM+159:20200303:102’
-159:结束日期限定符
物料需求计划回复 DELFOR-RSP 中使用DTM+232表示预计到达日期:
DTM+232:20200303:102’
-232:预计到达日期限定符
3.如何使用同一报文ORDRSP进行订单回复和订单变更回复?
E 公司收到订单ORDERS和订单变更ORDCHG之后,需要进行回复。只需要在订单回复中对订单和订单变更信息进行回复即可。我们如何区分订单回复和订单变更回复呢?
在订单回复ORDRSP 报文中的LIN字段可以进行区分。示例如下:
LIN+1+6+DM163010:BP::92'
其中6代表订单变更回复。如果LIN02为5,则代表订单回复。除了以上两个含义之外LIN02字段还有如下取值:
2 = Deleted 删除
7 = Not accepted 不接受
那什么场景下适合用2或者7呢?
举例:若Arrow 发起取消订单的订单变更,E公司接受Arrow取消订单,则回复2; 若Arrow发起订单变更,E公司不接受数量、交期的变更或者取消订单,则回复7。
更多EDI信息,请参阅: EDI 是什么?