近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。
今天的文章主要为大家介绍 IKEA EDI 项目,了解如何获取开源的项目代码以及如何部署到知行之桥 EDI 系统中。
准备下载和运行
IKEA EDI 到 JSON
使用 JSON 文件生成一系列 EDI 文档与 IKEA 通信。
IKEA EDI 方案简介
IKEA EDI 到 JSON 示例流具有预配置的端口,用于依据 IKEA 提供的 EDI 规范,转换以下交易集:
1. PRODAT 产品尺寸、重量、包装信息,IKEA 发送给供应商
2. PARTIN 业务单位信息,IKEA 发送给供应商
3. ORDERS 订单,IKEA 发送给供应商
4. ORDRSP 订单确认,供应商发送给 IKEA
5. IFTMBF 运输预定请求,供应商发送给 IKEA
6. IFTMBC 运输预定确认,IKEA 发送给供应商
7. DESADV 发货通知,供应商发送给 IKEA
8. VERMAS 验证总重量的消息,供应商发送给 IKEA
9. INVOIC 发票,供应商发送给 IKEA
通过 JSON 的方式实现 EDI 系统和 ERP 系统之间的集成是很常见的方案,它可以有效地将两个系统解耦,从而提高整个系统的可靠性和可维护性。
以下端口构成了工作流的核心元素:
1. AS2 端口:用于通过 Internet 网络进行安全传输的功能,确认 IKEA DVS 的 IKEA 信息,如 AS2 ID,URL 及公钥证书,以便进行正确配置。
2. EDIFACT 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
4. Branch 端口:对 XML 进行判断匹配区分不同业务类型的文件。
5. Notify 端口:向指定的收件人发送电子邮件通知。
6. JSON 端口:实现 JSON 文件与 XML 文件相互转换的功能。
如何在知行之桥 EDI 系统中部署上述工作流?
创建工作区
运行知行之桥 EDI 系统,导航到工作流选项卡并单击右上角的齿轮图标。 选择创建工作区选项为此示例流创建一个新的工作区 IKEA。
导入工作区
右侧齿轮下拉菜单中,单击导入工作区。 在出现的对话框中,选择下载的示例流 IKEA.arcflow 以导入相关的端口和设置。 或者直接将 IKEA.arcflow 拖拽到指定工作区。
成功导入示例工作流后,你将看到如下图所示的完整工作流:
完善工作流配置
实现 AS2 通信
导航到 IKEA_AS2 端口的 设置 选项卡。 根据 IKEA 提供的 AS2 文档配置 IKEA 的 AS2 信息,比如,IKEA 的 AS2 ID、交易伙伴 URL、交易伙伴证书等信息。 配置完成后请导航到 “输入” 选项卡上传测试文件与 IKEA 进行 AS2 连接测试,同时可以导航到 “输出” 选项卡查看 IKEA 发来的文件。
同时需要在 个人设置 选项卡下配置供应商的 AS2 信息:供应商的 AS2 ID,私钥证书,证书密码等。
实现从 EDIFACT 到 数据库 XML 的格式转换
实现文件格式转换主要借助 EDIFACT 端口以及 XMLMap 端口实现,其中 XMLMap 端口已经对数据映射进行了预配置,用户无需进行额外操作。 EDIFACT 端口中,需要在 设置 选项卡下填写用户和 IKEA 的真实信息,对交换头进行配置:
补充 Schemas
由于 IKEA EDI 项目中使用到了版本号为 D16A 的 EDIFACT 规范,因此需要在知行之桥 EDI 系统的安装路径下,找到以下文件夹:\www\app_data\edifact_schemas,将示例文件中的 D16A 文件解压后放置在以上文件夹中。如下图所示:
进入测试流程
以解析方向(即接收 IKEA 发来的 ORDERS 订单,并将其转换为 JSON 格式)为例,测试流程如下:
上传测试文件
导航到端口 ID 为 IKEA_EDIFACTToXML 的 EDIFACT 端口中,在 输入 选项卡下上传此前下载的示例文件:ORDERS.edifact。
查看 JSON 结果
X12 端口发出后,导航到端口 ID 为 IKEA_XMLToJSON 的 JSON 端口中,在 输出 选项卡下可以看到刚刚接收的 850 文件的状态为 Success ,这时就可以下载 JSON 查看订单数据了。
如下所示,此为接收到的一条来自 IKEA 的包含采购订单信息的 JSON 文件。
{
"Header": {
"orderNo": "01206151111",
"createDate": "2022-03-21",
"orderType": "J",
"freeTextZ": "",
"transInfo": "",
"freeTextT": "",
"poNo": "01206151111",
"customerOrderNo": "",
"buyerNo": "5100-COM",
"buyerName1": "",
"buyerName2": "",
"buyerStreet1": "",
"buyerStreet2": "",
"buyerCity": "",
"buyertelephoneNo": "",
"deliveryNo": "123-STO",
"deliveryName1": "",
"deliveryName2": "",
"deliveryStreet1": "",
"deliveryStreet2": "",
"deliveryCity": "",
"deliverytelephoneNo": "",
"invoiceNo": "3400-COM",
"invoiceName1": "",
"invoiceName2": "",
"invoiceStreet1": "",
"invoiceStreet2": "",
"invoiceCity": "",
"invoicetelephoneNo": "",
"supplierNo": "23211-SUP",
"supplierName1": "",
"supplierName2": "",
"supplierStreet1": "",
"supplierStreet2": "",
"supplierCity": "",
"suppliertelephoneNo": "",
"deliveryCondition": "FCA",
"deliveryPlace": "Haining, CN",
"Detail": [
{
"lineItemNo": "1",
"buyerItemNo": "10251234",
"orderQty": "92",
"departureDate": "2022-03-04",
"lastDeliveryDate": "2022-03-03",
"netPrice": "3.87",
"currency": "CNY",
"loadPlanNo": "1",
"referenceNo": "",
"tariffNo": "940399",
"priorityNo": "0",
"entryFlagNo": "",
"transInstructionNo": "",
"serviceLevelNo": "1",
"fileName": "",
"fileFormatName": ""
}
]
}
}
你启动并运行了吗?
如果答案是肯定的,那么恭喜你成功地配置了 IKEA EDI 方案示例工作流!如果你遇到任何问题或有任何疑问,请随时联系我们。