Target DVS EDI项目开源介绍

发布时间 2023-06-08 16:30:50作者: EDI电子数据交换

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

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

准备下载和运行

Target DVS EDI 到 Json

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

下载工作流  下载示例文件 

Target DVS EDI & JSON 方案简介

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

1. 850 采购订单,Target -> 供应商
2. 855 订单回复,供应商 -> Target
3. 860 采购订单变更,Target -> 供应商
4. 855 订单变更回复,供应商 -> Target
5. 856 发货通知,供应商 -> Target
6. 846 库存报告,供应商 -> Target
7. 864 消息通知,Target -> 供应商
8. 997 功能确认,供应商 <-> Target

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

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

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

1. AS2 端口:用于通过 Internet 网络进行安全传输的功能,确认 Target DVS 的AS2信息,如AS2 ID,URL 及公钥证书,以便进行正确配置。
2. X12 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
4. Branch 端口:对 XML 进行判断匹配区分不同业务类型的文件。
5. Notify 端口:向指定的收件人发送电子邮件通知。
6. Script端口:利用应用程序底层引擎中支持的 ArcScript 功能来进行各种可编程操作,例如重命名等。
7. JSON端口:实现 JSON 文件与 XML 文件相互转换的功能。

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

创建工作区

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

导入工作区

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

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

edi

成功导入示例流后,你可以开始配置端口以最适合你的特定用例。

完善工作流配置

完善工作流配置

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

edi

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

edi

实现从 X12 到 数据库 XML 的格式转换

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

edi

进入测试流程

以解析方向(即接收 Target 发来的 EDI 850 采购订单,对其进行格式转换后得到自定义 JSON)为例,测试流程如下:

上传测试文件

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

edi

查看 JSON 结果

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

如下所示,此为接收到的一条来自Target的采购订单的JSON。

 {
    "po_header": {
        "poType": "Dropship",
        "poNumber": "1000873599",
        "releaseNumber": "",
        "poDate": "20200429",
        "contractNumber": "9859",
        "orderNumber": "123456",
        "coverageCode": "36",
        "warehouseNumber": "M46D",
        "vendorNumber": "123456",
        "deliveryDateCode": "Non - Upgradeable",
        "estimatedShipDate": "20171219",
        "guestOrderDate": "20171231",
        "estimatedDeliveryDate": "20171222",
        "scacCode": "UPSN",
        "routingDescription": "NS",
        "serviceLevelCode": "G2",
        "orderDescription": "Thank you for your purchase. If you ordered additional items they will arrive separately.",
        "soldToName": "EDI Helpdesk",
        "additionalSoldToName": "",
        "soldToAddress": "7000 Target Parkway ",
        "soldToCityName": "Brooklyn Park",
        "soldToStateOrProvinceCode": "MN",
        "soldToPostalCode": "55445",
        "soldToCountryCode": "US",
        "soldToContactName": "",
        "soldToElectronicMailNumber": "",
        "soldToTelephoneNumber": "",
        "billToName": "Target.com Accounts Payable",
        "additionalBillToName": "",
        "billToAddress": "TNC 3110 PO Box 1296",
        "billToCityName": "Minneapolis",
        "billToStateOrProvinceCode": "MN",
        "billToPostalCode": "55440",
        "billToCountryCode": "US",
        "billToContactName": "",
        "billToElectronicMailNumber": "",
        "billToTelephoneNumber": "",
        "shipToName": "EDI Helpdesk",
        "additionalShipToName": "",
        "shipToAddress": "7000 Target Parkway ",
        "shipToCityName": "Brooklyn Park",
        "shipToStateOrProvinceCode": "MN",
        "shipToPostalCode": "55445",
        "shipToCountryCode": "US",
        "shipToContactName": "EDI Help Desk",
        "shipToElectronicMailNumber": "",
        "shipToTelephoneNumber": "612-304-3310",
        "po_detail": [
            {
                "lineNumber": "1",
                "quantityOrdered": "3",
                "measurementUnit": "Each",
                "unitPrice": "12.3",
                "unitPriceMeasurement": "Price per Each",
                "buyerCatalogNumber": "790-01-2022",
                "europeanArticleNumber": "",
                "eanNumber": "",
                "isbnNumber": "",
                "buyerItemNumber": "15013163",
                "stockKeepingUnit": "7680-02009152",
                "eanCaseCode": "",
                "eanShippingContainerCode": "",
                "upcConsumerPackageCode": "846186077111",
                "productDescription": "WR CARGO SHO 38 BLK SOLID",
                "messageText": "Mail In or Store",
                "wrappingMaterialDescription": "",
                "packingSlipDescription": "This item must be returned within 90 days of the ship date."
            },
            {
                "lineNumber": "2",
                "quantityOrdered": "1",
                "measurementUnit": "Each",
                "unitPrice": "4.33",
                "unitPriceMeasurement": "Price per Each",
                "buyerCatalogNumber": "390-32-0999",
                "europeanArticleNumber": "",
                "eanNumber": "",
                "isbnNumber": "",
                "buyerItemNumber": "13498855",
                "stockKeepingUnit": "783323323",
                "eanCaseCode": "",
                "eanShippingContainerCode": "",
                "upcConsumerPackageCode": "394949039444",
                "productDescription": "WR CARGO SHO 39 BLK SOLID",
                "messageText": "Mail In or Store",
                "wrappingMaterialDescription": "",
                "packingSlipDescription": "This item must be returned within 90 days of the ship date."
            }
        ]
    }}

  

你启动并运行了吗?

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

阅读原文