首页 > 其他分享 >Target DVS EDI项目开源介绍

Target DVS EDI项目开源介绍

时间:2023-06-08 16:33:37浏览次数:51  
标签:AS2 Target EDI 端口 JSON DVS

近期为了帮助广大用户更好地使用 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 示例工作流!但是,如果你遇到任何问题或有任何进一步的疑问,请随时联系我们。

阅读原文

标签:AS2,Target,EDI,端口,JSON,DVS
From: https://www.cnblogs.com/edi-ka/p/17466889.html

相关文章

  • 关联:Redis I/O模式
    Redis使用的是I/O多路复用首先,Redis是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以I/O操作在一般情况下往往不能直接返回,这会导致某一文件的I/O阻塞导致整个进程无法对其它客户提供服务,而I/O多路复用就是为了解决这......
  • Redis 面试题
    1.Redis是什么?Redis是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。2.Redis有哪些数据类型?5种基础数据结构:String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Zset(有序集合)。3种特殊数据结构:HyperLogLogs(......
  • redis 安装fatal error: jemalloc/jemalloc.h: No such file or directory 错误
    转自;https://www.cnblogs.com/oxspirt/p/11392437.html 问题现象: 我第一次安装redis时,没有安装gcc,报错了,然后安装好gcc,后再次执行make命令,安装redis就出现了如上的错误 网上错误解决办法网上大部分解决办法都是错误的,如下文:(错误解决办法)makeMALLOC=libc正确解决......
  • Redis系列15:使用Stream实现消息队列(精讲)
    Redis系列1:深刻理解高性能Redis的本质Redis系列2:数据持久化提高可用性Redis系列3:高可用之主从架构Redis系列4:高可用之Sentinel(哨兵模式)Redis系列5:深入分析Cluster集群模式追求性能极致:Redis6.0的多线程模型追求性能极致:客户端缓存带来的革命Redis系列8:Bitmap实现亿万级......
  • 十、Redis主从复制
    读操作:主库、从库都可以接收;写操作:首先到主库执行,然后,主库将写操作同步给从库。主从第一次同步第一阶段,主从库间建立连接、协商同步的过程,主要是为全量复制做准备。从库和主库建立起连接,主库确认回复后,就可以开始同步了。具体来说,从库给主库发送psync命令,psync命令包含了......
  • 十一、Redis扩容如何保证哈希一致性
    横向扩容,保证哈希一致性一致性哈希将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0-2^32-1(即哈希值是一个32位无符号整形)下一步将各个服务器使用Hash进行一个哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置......
  • 十三、Redis并发竞争问题
    多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了首先使用分布式锁,确保同一时间,只能有一个系统实例在操作某个key然后修改key的值时,要先判断这值的时间戳是否比缓存里的值的时......
  • 五、Redis内存消耗
    从性能上来说,内存占用过高会引起Reids响应变慢从高可用上来说,内存过大可能会会引起部分数据丢失,故障恢复变慢Redis内存消耗主要在于其主进程消耗和子进程消耗。而主进程消耗又主要包括自身内存、对象内存、缓冲区内存、内存碎片五个方面1、自身内存指Redis进程自身所占用的内......
  • redis应用场景--记录文章,图文,或者视频的浏览次数
    在阅读博客文章时,你可以看到一篇文章被阅读的次数,如果使用mysql,那么在设计article表时,就必须设置一个view_count字段来记录这篇文章被阅读的次数。但这种方式相比于使用redis,并不是一种好的办法,原因在于,每次更新view_count字段的值都是一个比较费力的过程。首先,程序需要根据文......
  • redis应用场景--实现布隆过滤器
    简述布隆过滤器的实现思路:假设有一个长度为n的比特数组,bit_array,数组里的每一位都是0,对于一个url或者是其他数据,使用hash算法计算出url的散列值,这个散列值当然是一个整数,暂且命名为index,index=index%n,确保index的值小于n,查看bit_array[index]是否等于1,如果等于1,表示该url已......