采购方 VDA 4905 / 4913 EDI ⇄ JSON 工作流

VDA 4905和 VDA 4913是汽车行业中常用的两种业务单据,用于在供应链中进行订单和交货的管理,采用开源的JSON方案,快速实现与企业内部业务系统的集成。

采购方 VDA 4905 / 4913 & JSON 方案简介

VDA 4905和 VDA 4913是汽车行业中常用的两种业务单据,用于在供应链中进行订单和交货的管理。为了方便企业实现与内部系统的集成,在 VDA 标准的基础上,可以采用开源的 JSON方案,助力企业降低成本,快速优化流程,并提升市场竞争力。

采购方VDA通用EDI到 JSON方案示例流具有预配置的端口,用于依据汽车行业常用EDI规范,转换以下交换集:

1.4905 物料需求预测,采购方→供应商
2.4913 发货通知,供应商→采购方

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

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

1. OFTP 端口:用于通过 Internet 网络进行安全传输的功能,确认采购商的OFTP信息,如SSID,SFID,OFTP Server、密码及公钥证书,以便进行正确配置。
2. VDA 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
4. JSON端口:实现 JSON 文件与 XML 文件相互转换的功能。

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

创建工作区

运行知行之桥 EDI 系统,导航到工作流选项卡并单击添加工作区按钮为此示例流创建一个新的工作区 VDAToJSON。

导入工作流

在工作区上方点击…(更多选项)按钮,单击导入工作区。 在出现的对话框中,选择下载的示例流 VDA_Sample_4905_4913.arcflow以导入相关的端口和设置。 或者直接将 VDA_Sample_4905_4913.arcflow拖拽到指定工作区。

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

完善工作流配置

实现 OFTP 通信

导航到 Sample_OFTP 端口的设置选项卡。根据供应商提供的 OFTP 文档配置供应商的 OFTP 信息,比如,供应商的 SSID/SFID、远程主机地址、端口、证书等信息。

同时需要配置 OFTP 个人设置:供应商的 SSID/ODETTE ID,SSID 密码,私钥证书,证书密码等信息。

实现 VDA 与 Json 之间的格式转换

实现文件格式转换主要借助 VDA 端口以及 XMLMap 端口实现,其中 XMLMap 端口已经对数据映射进行了预配置,用户无需进行额外操作。VDA 端口中,需要在 设置 选项卡下填写供应商和采购方的真实信息,对 发送方标识 和 接收方标识 进行配置:

进入测试流程

以解析方向(即接收供应商发来的 VDA 4913,对其进行格式转换成JSON文件)为例,测试流程如下:

上传测试文件

导航到端口 ID 为 Sample_VDAToXML的 VDA 端口中,在 输入 选项卡下可以上传示例文件:4913_test.edi 。

查看 JSON 结果

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

如下所示,此为接收到的一条来自供应商的发货通知的JSON文件。

{
  "ASN_Header": {
    "CustomerEDIID": "ABC",
    "SupplierEDIID": "12500",
    "OldTransmissionNumber": "00268",
    "NewTransmissionNumber": "00269",
    "TransmissionDate": "241018",
    "SubSupplierNo": "",
    "CarrierID": "CA123456",
    "MessageOriginCode": "",
    "DeliveryType": "",
    "ConsignmentNo": "00001234",
    "SupplierPlant": "",
    "Carrier": "S123456789",
    "ToCarrierDate": "241018",
    "ToCarrierTime": "1600",
    "GrossWeight": "380",
    "NetWeight": "233.8",
    "PrePaymentKey": "01",
    "CarrierTransmissionKey": "",
    "PackageQuantity": "4",
    "TransportPartnerID": "CA123456",
    "TransportMeansKey": "01",
    "TransportMeansNo": "NI170OK",
    "InformationQualifier": "",
    "QualifierContent": "",
    "RequiredArrivalDate": "241121",
    "RequiredArrivalTime": "0600",
    "LoadingMeters": "",
    "TruckTypeCode": "",
    "DeliveryNoteNo": "00003456",
    "DespatchDate": "241018",
    "UnloadingPoint": "DC34",
    "DespatchType": "03",
    "DeliveryInstructionCustomerREF": "",
    "ContractNo": "5987654321",
    "ProcessCode": "40",
    "CustomerPlant": "088",
    "ConsigmentREF": "00000000",
    "GoodsReceiverID": "",
    "CustomerStorage": "",
    "SupplierID": "15679999",
    "InternalDestination": "",
    "CallOffNo": "",
    "IndividualOrderCustomerREF": "",
    "DocumentNo": "",
    "ASN_Items": [
      {
        "CustomerItemNo": "C1234567879",
        "SupplierItemNo": "9876543211101",
        "OriginCountry": "088",
        "DeliveryQuantity1": "140",
        "MeasureUnitCode1": "ST",
        "DeliveryQuantity2": "0",
        "MeasureUnitCode2": "",
        "VATRate": "",
        "DeliveryLineNo": "010",
        "CallOffType": "P",
        "BatchNo": "",
        "UsageCode": "S",
        "DangerousGoodsCode": "",
        "PreferenceStatus": "X",
        "DutiableGoods": "1",
        "InventoryStatus": "",
        "ModifiedVersionCode": "",
        "OriginalDeliveryNo": "",
        "Text": "",
        "ASN_Package": [
          {
            "CustomerPackagingTypeID": "0000456",
            "SupplierPackagingTypeID": "0000456",
            "PackageQuantity": "1",
            "DeliveryLineNo2": "010",
            "MaximumQuantity": "48",
            "StartPackageNo": "000079234",
            "EndPackageNo": "",
            "PackageDimensions": "",
            "StackingFactor": "",
            "WarehouseCallOffNo": "",
            "LabelKey": "S",
            "ReturnablePackageKey": "",
            "PropertyCode": ""
          },
          {
            "CustomerPackagingTypeID": "0000456",
            "SupplierPackagingTypeID": "0000456",
            "PackageQuantity": "1",
            "DeliveryLineNo2": "010",
            "MaximumQuantity": "48",
            "StartPackageNo": "000079235",
            "EndPackageNo": "",
            "PackageDimensions": "",
            "StackingFactor": "",
            "WarehouseCallOffNo": "",
            "LabelKey": "S",
            "ReturnablePackageKey": "",
            "PropertyCode": ""
          },
          {
            "CustomerPackagingTypeID": "0000456",
            "SupplierPackagingTypeID": "0000456",
            "PackageQuantity": "1",
            "DeliveryLineNo2": "010",
            "MaximumQuantity": "48",
            "StartPackageNo": "000079236",
            "EndPackageNo": "",
            "PackageDimensions": "",
            "StackingFactor": "",
            "WarehouseCallOffNo": "",
            "LabelKey": "S",
            "ReturnablePackageKey": "",
            "PropertyCode": ""
          },
          {
            "CustomerPackagingTypeID": "0000456",
            "SupplierPackagingTypeID": "0000456",
            "PackageQuantity": "1",
            "DeliveryLineNo2": "010",
            "MaximumQuantity": "48",
            "StartPackageNo": "000079237",
            "EndPackageNo": "",
            "PackageDimensions": "",
            "StackingFactor": "",
            "WarehouseCallOffNo": "",
            "LabelKey": "S",
            "ReturnablePackageKey": "",
            "PropertyCode": ""
          }
        ]
      }
    ]
  }
}

你启动并运行了吗?

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