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

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

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

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

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

进入测试流程
以解析方向(即接收 Ashley 发来的 EDI 850 采购订单,对其进行格式转换后得到自定义 JSON)为例,测试流程如下:
上传测试文件
导航到端口 ID 为 Ashley_X12_ToXml 的 X12 端口中,在 输入 选项卡下上传此前下载的示例文件:850.x12。

查看 JSON 结果
X12 端口发出后,导航到端口 ID 为 Ashley_850_JSON 的 JSON 端口中,在 输出 选项卡下可以看到刚刚接收的850文件的状态为 Success ,这时就可以下载JSON查看订单数据了。
如下所示,此为接收到的一条来自Ashley的采购订单的JSON。
{
"EDI_850": {
"Version": "1.1.0",
"Mode": "T",
"TsetPurposeCode": "00",
"POTypeCode": "DS",
"PONumber": "P20B216",
"PODate": "20230911",
"Reference": [
{
"VendorNumber": "123456"
},
{
"CustomerOrderNumber": "VENDOR 2"
},
{
"InternalOrderNumber": "Non-EDI"
},
{
"FreightPayorReferenceNumber": "E835W8"
}
],
"Contact": [
{
"ContactFunctionCode": "BD",
"Name": "VENDOR Direct",
"TelephoneNumber": "(866)436-1234"
},
{
"ContactFunctionCode": "ZZ",
"Name": "ROBERT WAGNER",
"TelephoneNumber": "800-667-1234"
}
],
"DeliveryRequestedDateTimeInfo": {
"Date": "20230911"
},
"CarrierDetails": {
"SCAC": "UPSN",
"ServiceLevelCode": "CG"
},
"ShipToInfo": {
"Name": "TESTING 3RD PARTY",
"AddressInfo": {
"Address": "1600 E 8TH AVE",
"Address2": ""
},
"GeographicLocation": {
"CityName": "TAMPA",
"StateOrProvinceCode": "FL",
"PostalCode": "33605",
"CountryCode": "USA"
},
"Contact": {
"ContactFunctionCode": "RE",
"Name": "TESTING 3RD PARTY"
}
},
"BillToInfo": {
"Name": "ASHLEY FURNITURE INDUSTRIES, LLC",
"AddressInfo": {
"Address": "One Ashley Way",
"Address2": ""
},
"GeographicLocation": {
"CityName": "Arcadia",
"StateOrProvinceCode": "WI",
"PostalCode": "54612",
"CountryCode": "US"
}
},
"BaselineItem": [
{
"POLineNumber": "1",
"QuantityOrdered": "1.000",
"UOM": "EA",
"UnitPrice": "85.5000",
"VendorCatalogNumber": "A600058255",
"ProductDescription": {
"DescriptionType": "F",
"Description": "FLOOR MIRROR"
}
},
{
"POLineNumber": "2",
"QuantityOrdered": "1.000",
"UOM": "EA",
"UnitPrice": "142.5000",
"VendorCatalogNumber": "A600058256",
"ProductDescription": {
"DescriptionType": "F",
"Description": "LED VANITY MIRROR"
}
}
]}}
你启动并运行了吗?
如果答案是肯定的,那么恭喜你成功地配置了 采购方 VDA 4905 / 4913 & JSON 方案示例工作流!如果你遇到任何问题或有任何疑问,请随时联系我们。

