供应商 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": ""
}]
}]
}
}
你启动并运行了吗?
如果答案是肯定的,那么恭喜你成功地配置了示例工作流!如果你遇到任何问题或有任何疑问,请随时联系我们。

