G公司对接伍尔特wurth EDI项目案例

news2024/10/2 10:34:58

项目背景

对伍尔特wurth 而言,与其供应商开展成功的数字化项目通常是以自动连接开始的。通过这种方式,标准化的信息可以在彼此之间进行简单而自动的交换。这个流程被称为电子数据交换(EDI)。

EDI使得诸如订单、送货单、发票、订单确认等数据转换为各种结构化和标准化的格式,并在几秒钟内通过不同的通信路径发送。伍尔特wurth可以在供应商的ERP系统和其ERP系统之间交换数据——甚至跨越国界。这减少了手动输入的工作量以及错误的来源,加快了供应商的供应流程。

在此前的文章:伍尔特EDI需求分析中,我们介绍了伍尔特wurth EDI项目的具体需求,本文主要为大家介绍伍尔特wurth EDI实施细节以及注意事项。

项目需求

1.传输协议

伍尔特wurth采用AS2传输协议。

2.报文标准

业务报文业务含义传输方向
ORDERS采购订单伍尔特wurth发送给G公司
ORDRSP订单回复G公司发送给伍尔特wurth
DESADV发货通知G公司发送给伍尔特wurth

EDI解决方案

建立AS2连接

进行AS2连接,供应商需要准备如下的信息:

  • AS2 ID(供应商AS2身份标识符)
  • Private Certificate (私钥证书)
  • Certificate Password(私钥证书密码)
  • Public Certificate(与私钥证书成对的公钥证书)
  • Receiving URL (供应商数据接收URL地址)

格式转换

伍尔特wurth发送给G公司:G公司需要通过知行之桥 EDI 系统接收来自伍尔特wurth的符合EDIFACT报文标准的报文,再将其转换为满足W公司要求的Json格式,发送给G公司。这个方向主要处理ORDERS采购订单。
G公司发送给伍尔特wurth:G公司提供Json格式的文件给知行之桥EDI系统,知行之桥 EDI 系统获取到文件之后,将其中的数据提取出来,转换为符合EDIFACT报文标准的文件,发送给伍尔特wurth。这个方向主要处理ORDRSP订单回复以及DESADV发货通知两种报文。

G公司与知行之桥EDI系统之间的数据同步

本次项目中,G公司选择通过SFTP上传和下载EDI系统中的文件。知行之桥EDI系统中会建立一个SFTP Server,G公司可以通过SFTP对Receive文件夹进行写操作,对Send文件夹进行读操作。其余的相关操作由EDI系统自动处理。

具体流程如下:

1.数据从EDI系统到G公司:知行之桥EDI系统通过AS2端口接收文件,并将伍尔特wurth发来的ORDERS订单处理为Json格式之后,会通过SFTP将文件放置在SFTP端口的Send目录下:

G公司通过SFTP成功下载后,已读文件将会被放置在Sent目录下。这样的做法可以有效防止G公司重复下载文件。

2.数据从G公司到EDI系统:G公司通过SFTP将Json格式的订单回复以及发货通知放置在SFTP端口的Receive目录下。EDI系统会到这个路径下进行数据读取,然后将Json格式的文件转换成伍尔特wurth要求的ORDRSP订单回复以及DESADV发货通知,并通过AS2端口发送给伍尔特wurth。

项目成果

通过知行之桥EDI系统实现与伍尔特wurth的EDI对接,示例工作流如下:

项目回顾

EDI规范问题

进行EDI报文的格式转换时,需要严格按照伍尔特wurth提供的EDI规范进行。目前伍尔特wurth使用到的EDI规范及其版本号对应如下:

ORDERS EDI规范对应的版本号分为D93A和D96A,其中D93A用于普通采购单,D96A用于供应商直发,经确认本次G公司 EDI 项目中使用D93A普通采购单。

此外由于伍尔特wurth的EDI规范还在调整中,因此ORDRSP以及DESADV具体使用哪种规范需要通过邮件与伍尔特wurth进行确认,确保供应商使用的规范满足伍尔特wurth的最新要求。

测试流程

本次伍尔特wurth EDI 项目中,测试流程主要分为EDI连接测试以及EDI业务测试两部分。

首先需要进行AS2连接测试,测试流程如下:

1.双方通过邮件交换AS2配置信息
2.配置完成之后,G公司邮件告知伍尔特wurth已完成配置,并通过AS2发送一个测试文件。发送成功后,伍尔特wurth将会直接发给G公司一个ORDERS采购订单的测试文件。

EDI 业务测试:

1.G公司收到了来自伍尔特wurth的ORDERS采购订单后,我们的EDI实施工程师会检查ORDERS的结构是否正确,并对这个报文进行解析。结构没有问题之后,需要G公司的业务负责人进行业务数据的核对与验证。
2.G公司给伍尔特wurth回复ORDRSP采购订单回复,伍尔特wurth方对此报文进行验证。(除了要测试普通回复外,同时要拆分数量(行号不变,多交期)进行确认)
3.G公司给伍尔特wurth发送DESADV发货通知,伍尔特wurth方对此报文进行验证。

伍尔特wurth EDI测试场景

本次项目中,完成业务测试环节之后,伍尔特wurth与供应商提出要求:让交易双方的业务人员参与,再进行一轮测试。涉及到的测试场景如下:

1.伍尔特wurth给G公司发送一个ORDERS采购订单

采购订单中包含四种物料,信息如下:

  • 物料A,数量3500,伍尔特常规物料(G公司没库存)
  • 物料B,数量68000 ,伍尔特常规物料(G公司满足此单部分库存)
  • 物料C,数量4000,伍尔特新建物料(双方都没有库存)
  • 物料D,数量10000,伍尔特常规物料(G公司有库存)

2.G公司根据收到的ORDERS采购订单给伍尔特wurth回复一条ORDRSP采购订单回复,包含的信息如下:

  • 针对物料A(数量3500,伍尔特常规物料(G公司没库存))的回复,如果暂时没货,G公司可以回复一个可以交货的日期。
  • 物料B(数量68000 ,伍尔特常规物料(G公司满足此单部分库存))的回复,G公司需要回复两条发货日期,比如分别为:20240903以及20230403,当 G公司满足当前订单的部分库存,物料B的库存量为34000时,具体报文内容如下:
LIN+2+5'
PIA+5+012345 2  000  800:BP'
QTY+21:34000.000:PCE'
DTM+67:20240903:102'
PRI+AAA:8.01:::100.000:PCE'
PRI+AAB:6.9521:::100.000:PCE'
RFF+ON:82928302:2'
LIN+2+5'
PIA+5+012345 2  000  800:BP'
QTY+21:34000.000:PCE'
DTM+67:20230403:102'
PRI+AAA:8.01:::100.000:PCE'
PRI+AAB:6.9521:::100.000:PCE'
RFF+ON:82928302:2'

在ORDRSP报文中,各字段与业务信息的对应关系如下:

PIA字段存放了物料号的信息,G公司可以通过PIA字段存放的数据判断当前的物料种类,如:012345 2 000 800。
QTY存放的是物料数量信息,如:34000.000。
DTM字段存放交期信息,如20240903。

  • 物料C,数量4000,伍尔特新建物料(双方都没有库存),如果暂时没货,G公司可以回复一个可以交货的日期。
  • 物料D,数量10000,伍尔特常规物料(G公司有库存),正常回复订单中要求的数量。
LIN+4+5'
PIA+5+213345 2  000  400:BP'
QTY+21:10000.000:PCE'
DTM+67:20230403:102'
PRI+AAA:8.01:::100.000:PCE'
PRI+AAB:6.9521:::100.000:PCE'
RFF+ON:82928302:4'

3.G公司根据ORDRSP采购订单回复中的内容,向伍尔特发出一条DESADV发货通知,包含的信息如下:

  • 物料A,数量3500,伍尔特常规物料(G公司没库存),不需要发货。
  • 物料B,数量68000 ,伍尔特常规物料(G公司满足此单部分库存),发送部分货物,其中包含满足要求的库存即物料B数量为:34000。
  • 物料C,数量4000,伍尔特新建物料(双方都没有库存),不需要发货。
  • 物料D,数量10000,伍尔特常规物料(G公司有库存),正常发货,发货数量为:10000。

以上便是本次项目案例的全部内容了,了解更多 EDI 信息,请参阅: EDI 是什么?

阅读原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/380363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jmeter常用断言之JSON断言简介

JSON断言可以对服务器返回的JSON文档进行验证。 JSON断言有两种使用模式: 1.根据JSONPath能否在JSON文档中找到路径; 2.根据JSONPath提取值并对值进行验证。 结果判定:若文档格式为非JSON则断言失败;找不到路径断言失败&#xff1…

深度学习 | BN层原理浅谈

深度学习 | BN层原理浅谈 文章目录深度学习 | BN层原理浅谈一. 背景二. BN层作用三. 计算原理四. 注意事项为什么BN层一般用在线性层和卷积层的后面,而不是放在激活函数后为什么BN能抑制过拟合(有争议)一. 背景 神经网络在训练时,由于内存限制&#xff0…

Swagger2实现配置Header请求头

效果 实现 大家使用swagger肯定知道在代码中会写一个 SwaggerConfig 配置类,如果没有这个类swagger指定也用不起来,所以在swagger中配置请求头也是在这个 SwaggerConfig 中操作。 1、要实现配置请求头在配置swagger的Docket的bean实例中添加一个 globa…

用Python做了一个法律查询小工具,非常好用

用Python做了一个法律查询小工具,非常好用效果展示准备工作不会的话可以点我直达代码和视频讲解,我都准备好了主要代码哈喽兄弟,今天给大家分享一个Python tkinter制作法律查询小工具。 光爬虫大家也只能自己用用,就算打包了exe&…

安全狗受聘成为福州网信办网络安全技术支撑单位

近日,福州市委网信办召开了2022年度网络安全技术支撑单位总结表彰大会。 作为国内云原生安全领导厂商,安全狗也出席了此次活动。 据悉,会议主要对2022年度优秀支撑单位进行表彰,并为2023年度支撑单位举行授牌仪式。 本次遴选工…

2.1 黑群晖驱动:10代u核显硬解驱动(解决掉IP、重启无法连接问题)

本文提供了两种10代核显驱动方式:1)第一种(本文:二、仅修改i915.ko驱动10代u核显方法)为网上流传最多但是对主板兼容性要求很高,网上评论常会出现操作后无法识别IP(掉IP)的问题。因此,采用第一种…

vue-cli升级vue-cli5(webpack5引入)

一. 升级目标 vue-cli从v4版本升级到v5版本(同时升级到webpack5) node-sass不再支持,需要删除依赖,并将/deep/ 替换为v::deep方式 二. vue-cli4升级为vue-cli5 1.全局安装vue-cli npm install -g vue/cli// 检查是否更新成功 …

教你安装 Altium Designer23详细图文教程

Altium Designer (AD) 最新安装教程 ,ltium designer 显著地提高了用户体验和效率,利用时尚界面使设计流程流线化,同时实现了前所未有的性能优化。使用64位体系结构和多线程的结合实现了在PCB设计中更大的稳定性、更快的速度和更强的功能。Altium Designer 使您能够创建互联…

【项目精选】进销存管理系统的设计与实现(视频+源码+论文)

点击下载源码 1.1研究背景和意义 目前,许多的中小企业普遍存在一个问题:企业的决策者看到的进销存资料及相关报表都是比较繁杂,让本应该一目了然的结果因信息的分散使得产生的结果无法保持一致和完整,造成企业在进销存管理上问题很…

【C++】哈希

哈希一、unordered系列关联式容器二、哈希原理2.1 哈希映射2.2 哈希冲突2.2.1 闭散列—开放地址法2.2.2 代码实现2.2.3 开散列—拉链法2.2.4 代码实现三、哈希封装unordered_map/unordered_set3.1 基本框架3.2 迭代器实现3.2.3 operator*和operator->和operator!3.2.4 opera…

【微服务】Ribbon实现负载均衡

目录 1.什么是负载均衡 2.自定义负载均衡 3.基于Ribbon实现负载均衡 Ribbon⽀持的负载均衡策略 4.负载均衡原理 源码跟踪 LoadBalancerIntercepor LoadBalancerClient 5.负载均衡策略IRule 总结 1.什么是负载均衡 通俗的讲, 负载均衡就是将负载&#xff…

环境搭建04-Ubuntu16.04更改conda,pip的镜像源

我常用的pipy国内镜像源: https://pypi.tuna.tsinghua.edu.cn/simple # 清华 http://mirrors.aliyun.com/pypi/simple/ # 阿里云 https://pypi.mirrors.ustc.edu.cn/simple/ #中国科技大学1、将conda的镜像源修改为国内的镜像源 先查看conda安装的信息…

【shell 编程大全】sed详解

sed详解1. 概述 今天单独拉出一章来讲述下sed命令。因为sed命令确实内容太多,不过也是比较灵活的,好了不废话了。我们开始吧 1.2 原理解析 shell脚本虽然功能很多,但是它最常用的功能还是处理文本文件,尤其是在正常的业务操作流程…

4.3 where关键字过滤查询数据

文章目录1.使用WHERE子句2.WHERE子句操作符2.1 使用单个值2.2 不匹配检查2.3 范围值查询2.4 空值检查3.组合WHERE子句3.1 AND操作符3.2 OR操作符3.3 计算次序4.IN操作符5.NOt关键字5.注意事项5.1 NULL与不匹配5.2 SQL过滤与应用过滤&#xff…

【RSA】HTTPS中SSL/TLS握手时RSA前后端加密流程

SSL/TLS层的位置 SSL/TLS层在网络模型的位置,它属于应用层协议。接管应用层的数据加解密,并通过网络层发送给对方。 SSL/TLS协议分握手协议和记录协议,握手协议用来协商会话参数(比如会话密钥、应用层协议等等)&…

QT中级(6)基于QT的文件传输工具(2)

QT中级(6)基于QT的文件传输工具(2)本文实现第一步1 新增功能2 运行效果3 实现思路4 源代码实现这个文件传输工具大概需要那几步?实现多线程对文件的读写实现TCP客户端和服务端实现网络传输 书接上回:QT中级…

27k入职阿里测开岗那天,我哭了,这5个月付出的一切总算没有白费~

先说一下自己的个人情况,计算机专业,16年普通二本学校毕业,经历过一些失败的工作经历后,经推荐就进入了华为的测试岗,进去才知道是接了个外包项目,不太稳定的样子,可是刚毕业谁知道什么外包不外…

沸点 | 实时图数据库技术将赋能银行数字化转型——访同心尚科技总裁王昊

实时图数据库技术将赋能银行数字化转型 ——访同心尚科技总裁王昊 本报记者 赵萌 全国两会召开在即,近日,在多家媒体或研究机构的两会热点话题预测中,“科技创新”“数字经济”位列其中。如何更好发挥信息科技对支持实体经济发展的放大、叠加…

【运维有小邓】Oracle数据库审计

一些机构通常将客户记录、信用卡信息、财务明细之类的机密业务数据存储在Oracle数据库服务器中。这些数据存储库经常因为内部安全漏洞和外部安全漏洞而受到攻击。对这类敏感数据的任何损害都可能严重降低客户对机构的信任。因此,数据库安全性对于任何IT管理员来说都…

webpack.config.js与package.json文件的配置

path要使用绝对路径,通过每次复制文件位置非常麻烦且容易导致问题 使用node中的 写个包名跟入口名称,其他全部回车 此步完成后,自动生成一个package.json包 licence指的是开源,一般不写 安装文件夹需要的依赖 dirname是node自带…