供应商 VDA 4905 / 4913 EDI ⇄ JSON 工作流

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

供应商 VDA 4905 / 4913 & JSON 方案简介

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

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

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

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

1.OFTP端口:配置采购方信息,完成采购方与供应商之间的数据收发。
2.VDA端口:实现XML与VDA文件的相互转换以供进一步处理。
3.XMLMap端口:提供可视化的方式将XML数据从一种结构转换为另一种结构,建立源文件与模板文件的相互映射。
4.JSON端口:实现JSON文件与XML文件相关转换。

除了预配置的端口之外,示例工作流还提供了:template.json 文件,包含VDA4913报文所对应的JSON数据结构;VDA4905.edi文件,包含VDA4905报文。

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

创建工作区

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

导入工作流

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

完善工作流配置

实现 OFTP 通信

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

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

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

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

进入测试流程

以解析方向(即接收采购方发来的 VDA 4905 物料需求预测,对其进行格式转换后得到自定义 JSON)为例,测试流程如下:

上传测试文件

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

查看数据库表

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

如下所示,此为接收到的一条来自采购方的包含物料需求预测信息的JSON文件。

{
    "ASN_Header": {
        "SubSupplierNo": "",
        "CarrierID": "",
        "MessageOriginCode": "",
        "DeliveryType": "",
        "ConsignmentNo": "",
        "SupplierPlant": "",
        "Carrier": "",
        "ToCarrierDate": "",
        "ToCarrierTime": "",
        "GrossWeight": "",
        "NetWeight": "",
        "PrePaymentKey": "",
        "CarrierTransmissionKey": "",
        "PackagesQuantity": "",
        "TransportPartnerID": "",
        "TransportMeansKey": "",
        "TransportMeansNo": "",
        "InformationQualifier": "",
        "QualifierContent": "",
        "RequiredArrivalDate": "",
        "RequiredArrivalTime": "",
        "LoadingMeters": "",
        "TruckTypeCode": "",
        "DeliveryNoteNo": "",
        "DespatchDate": "",
        "UnloadingPoint": "",
        "DespatchType": "",
        "DeliveryInstructionCustomerREF": "",
        "ContractNo": "",
        "ProcessCode": "",
        "CustomerPlant": "",
        "ConsigmentREF": "",
        "GoodsReceiverID": "",
        "CustomerStorage": "",
        "SupplierID": "",
        "InternalDestination": "",
        "CallOffNo": "",
        "IndividualOrderCustomerREF": "",
        "DocumentNo": "",
        "ASN_Items": [{
            "CustomerItemNo": "",
            "SupplierItemNo": "",
            "OriginCountry": "",
            "DeliveryQuantity1": "",
            "MeasureUnitCode1": "",
            "DeliveryQuantity2": "",
            "MeasureUnitCode2": "",
            "VATRate": "",
            "DeliveryLineNo": "",
            "CallOffType": "",
            "BatchNo": "",
            "UsageCode": "",
            "DangerousGoodsCode": "",
            "PreferenceStatus": "",
            "DutiableGoods": "",
            "InventoryStatus": "",
            "ModifiedVersionCode": "",
            "OriginalDeliveryNo": "",
            "Text": "",
            "ASN_REF": [{
                "DeliveryNoteNo2":"",
                "ManufacturingREFNo1": "",
                "ManufacturingREFNo2": "",
                "ManufacturingREFNo3": "",
                "ManufacturingREFNo4": "",
                "ManufacturingREFNo5": "",
                "ManufacturingREFNo6": "",
                "ManufacturingREFNo7": "",
                "ManufacturingREFNo8": "",
                "ManufacturingREFNo9": "",
                "ManufacturingREFNo10": "",
                "ManufacturingREFNo11": ""
            }],
            "ASN_Package": [{
                "CustomerPackagingTypeID": "",
                "SupplierPackagingTypeID": "",
                "PackageQuantity": "",
                "DeliveryLineNo2": "",
                "MaximumQuantity": "",
                "StartPackageNo": "",
                "EndPackageNo": "",
                "PackageDimensions": "",
                "StackingFactor": "",
                "WarehouseCallOffNo": "",
                "LabelKey": "",
                "ReturnablePackageKey": "",
                "PropertyCode": ""
            }]
        }]
    }
}

你启动并运行了吗?

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