BOYSEN EDI ⇄ JSON 工作流

使用 Json 生成一系列 EDI 文档与BOYSEN通信。

近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。

今天的文章主要为大家介绍 BOYSEN EDI 项目,了解如何获取开源的项目代码以及如何部署到知行之桥 EDI 系统中。

BOYSEN EDI & JSON 方案简介

BOYSEN EDI 到 JSON 示例流具有预配置的端口,用于依据 BOYSEN 提供的 EDI 规范,转换以下交易集:

1. 4905 交货计划,BOYSEN -> 供应商
2. 4913 发货通知,供应商 -> BOYSEN

通过JSON的方式实现 EDI 系统和 ERP 系统之间的集成是很常见的方案,它可以有效地将两个系统解耦,从而提高整个系统的可靠性和可维护性。

通过JSON的方式,EDI 系统和 ERP 系统可以分别将需要传输的数据以JSON文件的形式存储在指定路径,然后另一方系统再从指定路径中获取JSON进行处理。这样可以避免直接修改对方系统中的数据,从而减少数据传输过程中的风险和错误。

以下端口构成了工作流的核心元素:

1. OFTP 端口:用于通过 Internet 网络进行安全传输的功能,确认 BOYSEN 的OFTP信息,如SSID,SFID,OFTP Server、密码及公钥证书,以便进行正确配置。
2. VDA 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
4. Branch 端口:对 XML 进行判断匹配区分不同业务类型的文件。
5. Notify 端口:向指定的收件人发送电子邮件通知。
6. JSON端口:实现 JSON 文件与 XML 文件相互转换的功能。

如何在知行之桥EDI系统中部署上述工作流?

创建工作区

运行知行之桥 EDI 系统,导航到工作流选项卡并单击右上角的齿轮图标。 选择创建工作区选项为此示例流创建一个新的工作区 BOYSEN_TO_JSON。

导入工作流

右侧齿轮下拉菜单中,单击导入工作区。 在出现的对话框中,选择下载的示例流 BOYSEN_TO_JSON.arcflow 以导入相关的端口和设置。 或者直接将 BOYSEN_TO_JSON.arcflow 拖拽到指定工作区。

成功导入示例工作流后,你将看到如下图所示的完整工作流:

完善工作流配置

实现 OFTP 通信

导航到 BOYSEN_OFTP 端口的设置选项卡。 根据 BOYSEN 提供的 OFTP 文档配置 BOYSEN 的 OFTP 信息,比如,BOYSEN 的 SSID/SFID ID、远程主机地址、密码、交易伙伴证书。 配置完成后请导航到“输入”选项卡上传测试文件与 BOYSEN 进行 OFTP 连接测试,同时可以导航到 “输出” 选项卡查看 BOYSEN 发送的文件。

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

实现从 VDA 到 JSON XML 的格式转换

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

进入测试流程

以解析方向(即接收 BOYSEN 发来的 EDI 4905 交货计划,对其进行格式转换后得到自定义 JSON)为例,测试流程如下:

上传测试文件

导航到端口 ID 为 BOYSEN_VDAToXML 的 VDA 端口中,在 输入 选项卡下上传此前下载的示例文件:VDA4905.edi。

查看 JSON 结果

VDA 端口发出后,导航到端口 ID 为 BOYSEN_XMLToJSON 的 JSON 端口中,在 输出 选项卡下可以看到刚刚接收的850文件的状态为 Success ,这时就可以下载JSON查看订单数据了。

如下所示,此为接收到的一条来自BOYSEN的交货计划的JSON。

 {
    "CallOff_Header": {
      "CustomerNo": "",
      "SupplierNo": "",
      "PreviousTransmissionNo": "00008",
      "NewTransmissionNo": "00009",
      "TransmissionDate": "2024-01-01",
      "ResetDate": "2011-12-31",
      "CallOff_Item": [
        {
          "CustomerPlant": "03",
          "NewCallOffNo": "187",
          "NewCallOffDate": "2012-11-15",
          "OldCallOffNo": "186",
          "OldCallOffDate": "2012-11-09",
          "CustomerItemNo": "1514280009100",
          "SupplierItemNo": "",
          "ContractNo": "CGF-56026482",
          "UnloadingPoint": "A 13",
          "CustomerReference": "",
          "QuantityUnit": "ST",
          "DeliveryInterval": "L",
          "ProductionRelease": "",
          "MaterialRelease": "",
          "UsageKey": "E",
          "Account": "",
          "Warehouse": "",
          "LastReceiveDate": "2012-11-13",
          "LastDeliveryNumber": "432701",
          "LastDeliveryDate": "2012-11-13",
          "LastDeliveryQuantity": "346",
          "CumulativeQuantity": "19427",
          "ProductionReleaseStartDate": "2012-01-01",
          "ProductionReleaseEndDate": "2013-02-13",
          "ProductionReleaseQuantity": "0",
          "MatrialReleaseStartDate": "2012-02-01",
          "MatrialReleaseEndDate": "2013-03-15",
          "MatrialReleaseQuantity": "0",
          "FPSDCode": "",
          "SubSupplier": "",
          "PlanHorizonDate": "2012-01-01",
          "UsePoint": "",
          "LastCumulativeQuantity": "0",
          "CallOff_Details": [
            {
              "CallOffDate": "2024-01-02",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "2024-W-01",
              "CallOffQuantity": "2"
            },
            {
              "CallOffDate": "2024-M-02",
              "CallOffQuantity": "2"
            },
            {
              "CallOffDate": "End of delivery instruction",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "No demand",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "Backorder quantity",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "Immediate demand",
              "CallOffQuantity": "123456789"
            },
            {
              "CallOffDate": "Transition to weekly or monthly",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "Remaining demand",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "Backorder quantity",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "Immediate demand",
              "CallOffQuantity": "123456789"
            },
            {
              "CallOffDate": "Transition to weekly or monthly",
              "CallOffQuantity": "0"
            },
            {
              "CallOffDate": "Remaining demand",
              "CallOffQuantity": "0"
            }
          ],
          "CallOff_PackData": [
            {
              "@array": "",
              "CustomerPackagingNo": "1234567891",
              "SupplierPackagingNo": "1234567891",
              "PackageCapacity": "0"
            },
            {
              "@array": "",
              "CustomerPackagingNo": "1234567891",
              "SupplierPackagingNo": "1234567891",
              "PackageCapacity": "0"
            }
          ],
          "CallOff_Text": [
            {
              "CallOff_Text1": "07-08140295/04",
              "CallOff_Text2": "23-09140029",
              "CallOff_Text3": ""
            },
            {
              "CallOff_Text1": "07-08140295/04",
              "CallOff_Text2": "23-09140029",
              "CallOff_Text3": ""
            }
          ]
        }
      ]
    }
    }

你启动并运行了吗?

如果答案是肯定的,那么恭喜你成功地配置了 BOYSEN EDI & JSON 方案示例工作流!如果你遇到任何问题或有任何疑问,请随时联系我们。