近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。
今天的文章主要为大家介绍 LOWE’S EDI 项目,了解如何获取开源的项目代码以及如何部署到知行之桥 EDI 系统中。
LOWE’S EDI & JSON 方案简介
LOWE’S EDI 到 JSON 示例流具有预配置的端口,用于依据 LOWE’S 提供的 EDI 规范,转换以下交易集:
1. 850 采购订单,LOWE’S -> 供应商
2. 860 订单变更,LOWE’S -> 供应商
3. 855 采购订单确认,供应商 -> LOWE’S
4. 856 发货通知,供应商 -> LOWE’S
5. 846 库存查询,供应商 -> LOWE’S
6. 810 发票,供应商 -> LOWE’S
通过JSON的方式实现 EDI 系统和 ERP 系统之间的集成是很常见的方案,它可以有效地将两个系统解耦,从而提高整个系统的可靠性和可维护性。
以下端口构成了工作流的核心元素:
1. AS2 端口:用于通过 Internet 网络进行安全传输的功能,确认 LOWE’S 的AS2信息,如AS2 ID,URL 及公钥证书,以便进行正确配置。
2. X12 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
4. JSON 端口:实现 JSON 文件与 XML 文件相互转换的功能。
5. Branch 端口:对 XML 进行判断匹配区分不同业务类型的文件。
如何在知行之桥EDI系统中部署上述工作流?
创建工作区
运行知行之桥 EDI 系统,导航到工作流选项卡并单击右上角的齿轮图标。 选择创建工作区选项为此示例流创建一个新的工作区 Lowes_EDI_to_JSON。

导入工作流
右侧齿轮下拉菜单中,单击导入工作区。 在出现的对话框中,选择下载的示例流 Lowes_To_SQLServer.arcflow 以导入相关的端口和设置。 或者直接将 Lowes_EDI_to_JSON.arcflow 拖拽到指定工作区。
成功导入示例工作流后,你将看到如下图所示的完整工作流:

完善工作流配置
实现 AS2 通信
导航到 LOWE’S_AS2 端口的设置选项卡。 根据 LOWE’S 提供的 AS2 文档配置 LOWE’S 的 AS2 信息,比如,LOWE’S 的 AS2 ID、交易伙伴 URL、交易伙伴证书。 配置完成后请导航到“输入”选项卡上传测试文件与 LOWE’S 进行 AS2 连接测试,同时可以导航到 “输出” 选项卡查看 LOWE’S 发送的文件。

同时需要配置AS2个人设置:供应商的 AS2 ID,私钥证书,证书密码,公钥证书。

实现从 X12 到 JSON 的格式转换
实现文件格式转换主要借助 X12 端口以及 XMLMap 端口实现,其中 XMLMap 端口已经对数据映射进行了预配置,用户无需进行额外操作。 X12 端口中,需要在 设置 选项卡下填写用户和 LOWE’S 的真实信息,对交换头进行配置:

接收并解析对方发来的 EDI 报文,此时发送方 ID 限定符以及发送方 ID 需要配置 Dana 的信息,而接收方 ID 限定符以及接收方 ID 则填写企业自己的信息。
进入测试流程
以解析方向(即接收 LOWE’S 发来的 EDI 850 采购订单,对其进行格式转换后将数据提取到数据库中)为例,测试流程如下:
上传测试文件
导航到端口 ID 为 LOWE_X12ToXML 的 X12 端口中,在 输入 选项卡下上传此前下载的示例文件:lowes_850.x12。

查看 JSON 结果

X12 端口发出后,导航到端口 ID 为 LOWE_850ToJSON 的 JSON 端口中,在 输出 选项卡下可以看到文件状态为 Success ,点击即可预览结果。
{"order":{
"poType":"SA",
"poNumber":"50340605",
"poDate":"20230831",
"currency":"USD",
"customerOrderNumber":"000000000150340606",
"fileIdID":"",
"internalVendorNumber":"116065",
"merchandiseTypeCode":"D2C",
"packingListNumber":"",
"salesperson":"Smith, John",
"specialProcessingCode":"",
"warehouseNumber":"Warehouse123",
"internalControlNumber":"3002579030",
"buyerId":"5551112222",
"customerPoIndex":"",
"fulfillmentAdditionData":"",
"termsOfFreightCostsDes":"CC",
"priorityAmount":"",
"allowanceInfo":{"packslipMessage":"Please drop package off at the side door next to the garage."},
"routingVendorCode":"UNSP",
"orderSpecialDes":"",
"salesDivision":"ABCD",
"billToName":"John Doe",
"billToNumber":"",
"billToAddress":"",
"billToCity":"",
"billToProvince":"",
"billToPostal":"",
"billToCountry":"",
"billToContactTel":"555-555-5555",
"billToContactNightTel":"",
"billToContactEmail":"",
"billToAddressType":"",
"invoiceToName":"",
"invoiceToNumber":"00907",
"invoiceToAddress":"",
"invoiceToCity":"",
"invoiceToProvince":"",
"invoiceToPostal":"",
"invoiceToCountry":"",
"invoiceToContactTel":"",
"invoiceToContactNightTel":"",
"invoiceToContactEmail":"",
"invoiceToAddressType":"",
"shipToName":"John Doe",
"shipToNumber":"",
"shipToAddress":"1 Fuller Rd",
"shipToCity":"Albany",
"shipToProvince":"NY",
"shipToPostal":"12203",
"shipToCountry":"US",
"shipToContactTel":"555-555-5555",
"shipToContactNightTel":"",
"shipToContactEmail":"",
"shipToAddressType":"1",
"orderItem":[
{
"poLineNumber":"01",
"quantityOrdered":"3",
"quantityUnit":"PK",
"unitPrice":"8",
"priceUnit":"TE",
"skuNumber":"111111111",
"vendorItemNumber":"HEWCB402A",
"upcNumber":"123456789022",
"productDesc":"Sample item description for line 1",
"deliveryRequestedDate":"20230905",
"expectedShipDate":"20230902",
"shipmentDes":"UNSP",
"slnIndicator":"",
"productConfigurationText":""
}
]
}
你启动并运行了吗?
如果答案是肯定的,那么恭喜你成功地配置了 Dana EDI 示例工作流!但是,如果你遇到任何问题或有任何进一步的疑问,请随时联系我们。

