首页 > 其他分享 >HD Supply EDI 项目案例

HD Supply EDI 项目案例

时间:2023-08-15 12:26:46浏览次数:45  
标签:Supply 行号 EDI 订单 发货 HD

HD Supply Inc.是一家总部位于美国的工业分销公司。该公司成立于1983年,总部位于佐治亚州亚特兰大市。它主要提供广泛的工业产品、设备和解决方案,涵盖建筑、能源、制造、设施维护等多个行业。其产品和服务包括管道、阀门、暖通空调设备、电气设备、工具、建筑材料等,为各种规模的客户提供一站式采购解决方案以及高质量、可靠性和专业化服务。

项目挑战

HD Supply EDI 项目需要通过 CommerceHub 平台进行 7 个业务场景的测试,测试流程较为复杂,对于初次接触 EDI 的供应商而言,难免会有些无从下手。 对于 HD Supply EDI 项目,首先供应商需要与 HD Supply 进行需求确认,然后根据已确认的需求进行实施,完成实施后就要和 HD Supply 进行业务测试,根据 HD Supply 要求的业务测试场景对传输的报文格式以及业务数据值进行测试,直至双方的业务系统都确认能够正常处理。

项目需求

传输协议:SFTP
报文标准:X12
报文类型

HD Supply 发送给企业:

  1. 850 采购订单
  2. 180 退货授权和通知

企业发送给 HD Supply:

  1. 855 采购订单确认
  2. 856 提前发货通知
  3. 810 发票
  4. 846 库存通知

EDI 解决方案

建立 EDI 通信

HD_Supply_EDI_Case1

在知行之桥 EDI 系统的可控文件传输(MTF)端口中,选择 SFTP 端口,点击之后在弹出的 配置 界面中即可进行相应的配置。

连接到远程 SFTP 服务器需要以下设置:

  • 远程主机
  • 远程端口
  • 认证模式
  • 用户名
  • 密码或客户端证书/证书密码
  • 服务器指纹
  • 测试与服务器的连接时,端口将提示接受/信任服务器公钥的指纹。

扩展阅读:如何使用知行之桥 EDI 系统实现 SFTP Client 和 SFTP Server 连接?

HD_Supply_EDI_Case2

数据格式转换

搭建好 SFTP 传输通道之后,接下来需要基于知行之桥 EDI 系统进行实施,主要完成 EDI 报文的格式转换以及和客户业务系统的集成。

为了进行 EDI 报文的格式转换,供应商需要具备生成和解析 EDI 报文的能力。通过知行之桥 EDI 系统的 XMLMap 以及 X12 端口,可以快速实现 EDI 报文与 XML 之间的格式转换。

系统集成

本次 EDI 项目,采用 API 方案实现 EDI 系统与企业内部 ERP 系统之间的集成,与企业沟通后决定,由企业的 ERP 系统调用知行之桥 EDI 系统的 API 接口来实现业务数据的上传和下载。我们将会为企业提供 API 接口信息,方便企业的 ERP 系统访问。

我们的实施工程师将会根据项目的实际情况,为企业提供一份知行之桥 API 接口调用指南。接口信息包括:请求方式以及接口 URL 等。

我们和企业 ERP 系统确定的文件传输格式为 JSON,需要注意的是,API 方案中,ERP 传输给 EDI 系统的 JSON 文件数据需要进行 base 64 加密。

在知行之桥 EDI 系统中,如果选择的文件传输格式是 JSON,则可以通过 JSON 端口来实现 JSON 和 XML 之间的转换,通过可视化的配置界面即可完成,实现低代码操作。

扩展阅读:JSON 端口操作实例

项目成果

HD_Supply_EDI_Case3

测试场景介绍

通过以往的项目经验,HD Supply EDI 项目的业务测试部分需要一周左右的时间来完成。

测试场景主要包括 7 个 case ,其中 case1-case6 分别对应 CHUB 发来的六个订单,case7 则用于 846 库存通知的测试。测试流程开始后,HD Supply 会同时发送 6 个 EDI 850 采购订单,用于测试 6 种不同的场景。CHUB 会给企业提供一个测试场景的说明文档,企业可以将接收到的订单明细(Ship To 以及 Bill To 信息等)与测试场景说明文档一一对应,从而正确匹配订单和场景。我们根据以往的项目经验对测试场景进行了总结:

场景一
  1. 接收 HD Supply 发来的 EDI 850 采购订单
  2. 接受整个订单,给 HD Supply 回复 EDI 855 采购订单回复
  3. 将整个订单放在一个 box 里发货,给 HD Supply 回复 EDI 856 提前发货通知
  4. 给 HD Supply 发送 EDI 810 发票
场景二
  1. 接收 HD Supply 发来的 EDI 850 采购订单
  2. 拒绝整个订单,给 HD Supply 回复 EDI 855 采购订单回复
场景三
  1. 接收 HD Supply 发来的 EDI 850 采购订单
  2. 接受所有订单行,给 HD Supply 回复 EDI 855 采购订单回复
  3. 每一个订单行都需要使用单独的 box 发货,给 HD Supply 回复 EDI 856 提前发货通知
  4. 给 HD Supply 发送 EDI 810 发票
场景四
  1. 接收 HD Supply 发来的 EDI 850 采购订单
  2. 接受行号为 30的订单行,拒绝行号为 50 的订单行,给 HD Supply 回复 EDI 855 采购订单回复
  3. 根据行号为 50 的订单行信息进行发货,给 HD Supply 回复 EDI 856 提前发货通知
  4. 根据已发货的物料(行号为 50)给 HD Supply 发送 EDI 810 发票
  5. 接收 HD Supply 发来的(line 50) 180 退货授权和通知(在切换至生产之后将会通过邮件进行提醒)
  6. 供应商处理行号为 50 的订单行的退货。输入有效的数量、退货原因代码和日期。
场景五
  1. 接收 HD Supply 发来的 EDI 850 采购订单
  2. 接受整个订单(包括行号为 10 的订单行 和行号为 20 的订单行),给 HD Supply 回复 EDI 855 采购订单回复
  3. 根据行号为 10 的订单行信息进行部分发货,给 HD Supply 回复 EDI 856 提前发货通知
  4. 供应商取消行号为 20 的订单行,给 HD Supply 回复 EDI 856 提前发货通知
  5. 根据已发货的行号为 10 的订单行给 HD Supply 发送 EDI 810 发票
  6. 供应商处理单个物料(行号为 10 的订单行)的退货。输入有效的数量、退货原因代码和日期。
场景六
  1. 接收 HD Supply 发来的 EDI 850 采购订单(包含line10,line20,line30,line40,line50)
  2. 接受所有的订单行,给 HD Supply 回复 EDI 855 采购订单回复
  3. 在生产环境中供应商从CHUB接收到取消 行号为 10 的订单行 订单行的请求
  4. 供应商取消行号为 10 的订单行,并根据其余订单行进行发货,给 HD Supply 回复 EDI 856 提前发货通知
  5. 根据已发货的订单行给 HD Supply 发送 EDI 810 发票
场景七
  1. 使用 OrderStream 生产账户,设置仓库位置。
  2. 用供应商的真实数据给 HD Supply 发送 EDI 846 库存建议
  3. 修改一个 SKU,将其标记为 “已停产”。
  4. 使用 OrderStream 接口验证库存数据。

注意事项:

供应商发送给 HD Supply 的 EDI 846 库存建议中至少需要包含两个物料。 HD Supply 将会为供应商提供相应的仓库 ID。

项目回顾

设置文件延时发送

HD Supply 要求 EDI 856 以及 EDI 810 不可以同时发送,需要先发送 EDI 856 提前发货通知,再发送 EDI 810 发票。但在实际处理过程中, 客户的EDI 856 和 EDI 810 是同时生成的,需要进行特殊处理。

在 EDI 系统中,可以在 XMLMap 端口进行延迟设置。如下图所示:

HD_Supply_EDI_Case4

点击图中被自定义命名为 HD_810_OUT 的 XMLMap 端口,在弹出的页面中,选择导航栏第三项:高级设置,找到 延迟处理,在这里即可进行延时设置。这里的默认单位是秒,通常我们会将其设置为 7200,企业也可以结合实际需求,配置相应的延迟处理时间。

了解更多 EDI 信息,请参阅: EDI 是什么?

阅读原文

标签:Supply,行号,EDI,订单,发货,HD
From: https://www.cnblogs.com/edi-ka/p/17631017.html

相关文章

  • SpringBoot3集成Redis
    目录一、简介二、工程搭建1、工程结构2、依赖管理3、Redis配置三、Redis用法1、环境搭建2、数据类型3、加锁机制四、Mybatis缓存1、基础配置2、自定义实现五、参考源码标签:Redis.Mybatis.Lock;一、简介缓存在项目开发中,基本上是必选组件之一,Redis作为一个key-value存储系统,具......
  • 虹科干货 | 化身向量数据库的Redis Enterprise——快速、准确、高效的非结构化数据
    用户期望在他们遇到的每一个应用程序和网站都有搜索功能。然而,超过80%的商业数据是非结构化的,以文本、图像、音频、视频或其他格式存储。RedisEnterprise如何实现矢量相似性搜索呢?答案是,将AI驱动的搜索功能集成到RedisEnterprise中,以实现矢量相似性搜索。 RedisEnterprise如何......
  • HDU 3829 Cat VS Dog 猫和狗(二分图)结题报告
    听学长说这道题很ex,但是思路想到的话还是挺简单的。可能是受上一道题(放置机器人)的启发,也是找互相冲突的点连线。但是并不是完全一样(废话)放置机器人那道题是找到冲突点连线后直接求最大匹配即可。这道题稍微把思路变换一下,求出最大完美匹配数\(n\)后,说明有\(n*2\)个人的喜好......
  • centos 7安装redis
    您好,这是在CentOS7上安装Redis的详细指南1:安装依赖项:Redis是用C语言开发的,因此在安装之前,您必须确保服务器已经安装了gcc。您可以通过以下命令检查机器是否安装:gcc-v。如果没有安装,您可以通过以下命令安装:yuminstall-ygcc。下载Redis安装包并解压缩:wgethttps://downlo......
  • Hedisql基本操作
    要求HeidiSQL在Windows10和11上运行良好(在Windows7+8上运行有一些小问题)。目前在Wine上运行HeidiSQL相当不稳定。安装HeidiSQL的正常方法是从下载页面下载发行版安装程序。安装后,您可以直接从下载页面或通过HeidiSQL本身下载夜间版......
  • hdctf2023
    MISC0x00hardMisc直接记事本打开会出现乱码,用winhex打开复制16进制值,然后ASCII转16进制,base64解码SERDVEZ7d0UxYzB3M18xMF9IRGN0Zl9NMTVjfQ==HDCTF{wE1c0w3_10_HDctf_M15c}0x01MasterMisc所有的文件组成一个大的压缩包,用010爆破出密码,分离出音频文件音频隐写只有前部分,再......
  • redis查询 第1个数据库,而不是默认的第0个数据库
    redis查询第1个数据库,而不是默认的第0个数据库 spring.redis.database=1默认:spring.redis.database=0car-test:0>getcar:info:detail:id001NULL##切换数据库car-test:0>select1OKcar-test:1>getcar:info:detail:id001{"id":444186}car-test:1>redis有......
  • credit default swap(CDS)
    http://en.wikipedia.org/wiki/Credit_default_swapAcreditdefaultswap(CDS)isafinancialswapagreementthattheselleroftheCDSwillcompensatethebuyerintheeventofaloandefaultorothercreditevent.ThebuyeroftheCDSmakesaseriesof......
  • redis数据结构字典
    redis数据结构字典数据结构Redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。哈希表typedefstructdictht{//哈希表数组dictEntry**table;//哈希表大小unsignedlongsize;//哈希表大小掩码,用于......
  • VTK 实例20:用vtkImageViewer2显示三维医学图像mhd的某个切面
    1#include"vtkAutoInit.h"2VTK_MODULE_INIT(vtkRenderingOpenGL2);3VTK_MODULE_INIT(vtkInteractionStyle);45#include<vtkSmartPointer.h>6#include<vtkImageViewer2.h>7#include<vtkRenderWindow.h>8#include<......