博泽Brose EDI项目案例

Brose 是一家德国的全球性汽车零部件供应商,主要为全球汽车制造商提供机电一体化系统和组件,涵盖车门、座椅调节系统、空调系统以及电动驱动装置等。Brose 以其高质量的创新产品闻名,在全球拥有多个研发和生产基地,是全球第五大家族企业,也是全球领先的汽车零部件供应商之一。

梳理需求文档

EDI项目开始前,Brose 将会向交易伙伴提供本次对接中需要的EDI规范文档,包括 DELFOR物料需求计划(版本号:D04A)、DESADV发货通知(版本号:D20B)。本案例中,Brose作为采购商,向其供应商汽车行业A公司采购。因此A公司需要接收Brose发来的DELFOR物料需求计划,向Brose发送DESADV发货通知。

EDI连接测试

Brose支持的传输方式包括:OFTP2以及SFTP,由于Brose更推荐交易伙伴使用OFTP2,因此本案例将以OFTP2为例,为大家介绍如何建立OFTP2连接通道。

Brose与供应商需要交换包含OFTP2配置信息的文档,包含SSID、SFID、服务器、IP地址、端口号等信息。通过知行之桥EDI系统搭建对接Brose的OFTP2连接通道,需要先在 个人设置 选项卡下,配置A公司自己的OFTP连接信息。

Brose-EDI1.png

接下来在 工作流 选项卡下创建一个OFTP端口(功能模块),点击下图左上方的OFTP端口,在右侧弹窗的 设置 选项卡下配置Brose的OFTP连接信息。

Brose-EDI2.png

在测试阶段,向Brose发文件时,可以在OFTP 端口的 输入 选项卡下,点击 更多,上传测试文件。

Brose-EDI3.png

接收来自Brose的文件时,可以点击 输入 选项卡旁边的 输出 选项卡,查看EDI系统收到的文件。

Brose-EDI4.png

实施方案

A公司的EDI系统与Brose的EDI系统之间可以通过OFTP2传输通道建立连接,那么A公司应该如何将业务数据提供给EDI系统呢?

如果A公司内部有ERP系统或者其他业务系统,则可以选择与EDI系统进行集成。知行之桥EDI系统支持的集成方案包括:[中间数据库方案][]、[REST API][]、WebService、SFTP或共享文件夹等,用户可以根据实际需求进行选择。以REST API方案为例,基于知行之桥EDI系统,通过REST API 来集成A公司的ERP系统,EDI和ERP通过对方提供的接口调用文档,使用REST API来调用对方的接口,以JSON或者XML格式来进行业务数据的传输。

主要过程包括:

1.EDI整理所需业务字段
2.EDI实施顾问、ERP顾问以及A公司的业务负责人进行业务字段和结构确认
3.EDI和ERP各自进行接口的开发,提供给对方各自的接口调用文档
4.集成测试,API集成测试一般是与EDI业务测试同步进行的,便于验证能否将Brose发来的DELFOR数据解析进A公司的ERP系统,以及A公司ERP系统中提供的发货通知数据在被EDI系统进行格式转换后生成的DESADV报文能否顺利被Brose处理。

扩展阅读:REST API集成方案

项目成果

根据以上需求,在知行之桥EDI系统中搭建如下所示的工作流:

Brose-EDI5.png

知行之桥EDI系统将不同的功能封装至一个个成熟的功能端口中,实现低代码操作。通过蓝色连接线连接各个功能端口,清晰展示数据流向,方便用户快速定位问题。

EDI 业务测试
DELFOR 物料需求计划

A公司需要接收Brose发来的DELFOR物料需求计划,在知行之桥EDI系统中,通过搭建如下所示的工作流即可实现:

Brose-EDI15.png

物料需求计划的处理流程

1.通过OFTP连接通道收到Brose发来的DELFOR报文
2.借助EDIFACT、XML Map以及JSON端口将DELFOR报文转换为Json格式
3.借助REST端口调用A公司提供的接口,将包含物料需求计划数据的Json文档推送至A公司的业务系统中。在REST端口的 设置 选项卡下,配置必要的信息:将 方法&URL 设置为 POST,URL和认证类型由A公司的IT部门提供,正文类型设置为 raw,Content Type为application/json。

Brose-EDI7.png

4.A公司的业务系统将会根据数据的接收情况回复不同的response,结构如下所示:

Brose-EDI8.png

5.通过在Notify端口补充自定义脚本实现钉钉通知

为了及时提醒A公司的相关人员,Brose发来的物料需求计划在进入业务系统时保存失败,可以在Script端口添加代码,设置钉钉通知。

Brose-EDI9.png

代码如下:

<arc:set attr="json.uri" value="[FilePath]" />
<arc:set attr="json.jsonpath" value="/json" />
<arc:call op="jsonDOMSearch" in="json" ><arc:set attr="response.status" value="[jsonpath(RTYPE)]" />
</arc:call>
<arc:if exp="[response.status|equals('E')]"><arc:set attr="check.sslcert" value="*"/><arc:call op="httpGet" in="check"><arc:catch code="*"><arc:set attr="notify.url" value="https://oapi.dingtalk.com/robot/send?access_token=52f30b4d79a6dae6d34d6e0ceb627de91ec33033a59a8bb955ec6c0137730476"/><arc:setm item="notify">url = https://oapi.dingtalk.com/robot/send?access_token=52f30b4d79a6dae6d34d6e0ceb627de91ec33033a59a8bb955ec6c0137730476postdata = {"at": {"isAtAll":false},"text": {"content":"业务警报:知行之桥REST端口调用A公司ERP接口失败,请检查!"},"msgtype":"text"}contenttype = application/json</arc:setm><arc:call op="httpPost" in="notify" /></arc:catch></arc:call>
</arc:if>

扩展阅读:调用REST端口实现钉钉通知

配置成功之后,在钉钉中的通知效果如下:

Brose-EDI10.png

DESADV 发货通知

A公司需要根据Brose发出的DELFOR物料需求计划回复DESADV发货通知,在知行之桥EDI系统中,通过搭建如下所示的工作流即可实现:

Brose-EDI11.png

DESADV发货通知的处理流程

1.首先A公司的ERP系统通过调用EDI系统的接口,将Json格式(知行的EDI顾问将会提前设计好Json模板,A公司只需要据此模板填充对应的业务数据即可)的发货通知数据传入知行之桥EDI系统的 Webhook端口。需要在Webhook端口中配置请求格式为json,还需配置 用户 以及受信任的ip地址:

Brose-EDI12.png

 

Brose-EDI13.png

2.借助JSON端口、XML Map端口以及EDIFACT端口,将包含发货通知数据的Json文件转换为Brose要求的DESADV报文。 3.通过OFTP端口,将DESADV报文发送给Brose。

DESADV发货通知的测试注意事项

对于接收到的DESADV发货通知,Brose会通过邮件回复一个PDF格式的VDA 4987错误报告,详细列出了DESADV报文中的每一个字段信息,如果验证成功会在第一列用绿色高亮标记,如果验证失败则会在第一列用红色高亮标记。

1.DESADV报文的协会指定代码为固定值

UNH02的位置需要写入固定值:GAVF30,并且是EDI报文的必填值。示例:

UNH+1+DESADV:D:20B:UN:GAVF30'

2.测试过程中使用的测试数据需要尽可能贴近实际生产数据,以日期格式为例,Brose支持以下两种格式:

当DTM01值为102 时,日期格式为:YYYYMMDD,例如:20241202; 当DTM01值为203时,日期格式为:CCYYMMDDHHMM,例如:202412021539

示例:

DTM+137:202412021539:203'

3.当RFF01的值为ANK时,表示当前传输的数据为由9位数字组成的DUNS编号。示例如下:

RFF+ANK:310010022'

4.LOC字段传输卸货点信息,卸货点ID必须是由5位字符组成的,示例如下:

LOC+11+RAUKC::92'

5.LIN字段传输物料信息,物料编号必须由10位字符组成,示例如下:

LIN+++A62404-110:IN'

6.订单编号必须由10位字符组成,示例如下:

RFF+ON:5508856298'
DESADV发货通知的包装信息

不同版本号的DESADV报文规范中对于包装的描述和规定有很大区别,因此开始EDI项目实施前请务必与Brose确认DESADV报文的版本号。

基于Brose提供的版本号为D20B的EDI报文规范,需要考虑将相同规格的托盘进行合并,这里的相同规格是指:每托箱数相同,每箱数量相同,物料相同。

确认托盘结构:与Brose以及企业内部业务人员确认当前发货通知中有无空箱、盖子或者其他辅材。以下是一个包装示例:

Brose-EDI14.png

如果您希望了解有关EDI对接的相关信息,欢迎交流。

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

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

相关文章

python使用python-docx处理word

文章目录 一、python-docx简介二、基本使用1、新建与保存word2、写入Word&#xff08;1&#xff09;打开文档&#xff08;2&#xff09;添加标题&#xff08;3&#xff09;添加段落&#xff08;4&#xff09;添加文字块&#xff08;5&#xff09;添加图片&#xff08;6&#xf…

aws(学习笔记第十五课) 如何从灾难中恢复(recover)

aws(学习笔记第十五课) 如何从灾难中恢复 学习内容&#xff1a; 使用CloudWatch对服务器进行监视与恢复区域(region)&#xff0c;可用区(available zone)和子网(subnet)使用自动扩展(AutoScalingGroup) 1. 使用CloudWatch对服务器进行监视与恢复 整体架构 这里模拟Jenkins Se…

lwip raw、netcoon、socket三种接口编程的区别

目录 一、前言 二、LWIP 简介 三、LWIP RAW 编程 1.概念与原理 2.编程模型与流程 3.示例代码 4.优点与缺点 四、LWIP NETCONN 编程 1.概念与原理 2.编程模型与流程 3.示例代码 4.优点与缺点 五、LWIP SOCKET 编程 1.概念与原理 2.编程模型与流程 3.示例代码 …

【XGlassTerminal.js】快速 构建 炫酷 终端 网页 以及 Linux 模拟器 在线!!

XGlassTerminal.js XGlassTerminal.js 是一个用于构建前端终端样式的 JavaScript 库。它允许开发者轻松地创建一个具有终端风格的用户界面&#xff0c;并对用户输入的命令进行事件处理。 该库提供了丰富的功能&#xff0c;包括文本添加、命令处理、点击事件绑定等。 同时还支…

车辆传动系统的simulink建模与仿真,分析加速和刹车两个工况

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 车辆传动系统的simulink建模与仿真,分析加速和刹车两个工况。模型包括车辆模块&#xff0c;传动模块&#xff0c;发动机模块&#xff0c;换挡模块&#xff0c;刹车油门输入模块…

宝塔配置定时任务详解

文章目录 宝塔配置定时任务详解一、引言二、配置定时任务1、登录宝塔面板2、添加定时任务2.1、步骤 3、配置任务3.1、设置任务名称和执行周期3.2、设置执行命令 4、保存并测试 三、使用示例1、备份数据库2、清理日志文件 四、总结 宝塔配置定时任务详解 一、引言 在服务器管理…

【C++笔记】map和set的使用

【C笔记】map和set的深度剖析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】map和set的深度剖析前言一.set1.1 序列式容器和关联式容器1.2 set系列的使用1.3 set类的介绍1.4 set的构造和迭代器1.5 set的增删查1.6…

springboot+mybatis对接使用postgresql中PostGIS地图坐标扩展类型字段

方案一&#xff08;完全集成和自动解析&#xff09;&#xff1a; <dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId></dependency> 使用 org.postgresql.geometric包下的 PGpoint 类来接收数据库中POINT…

《只狼》运行时提示“mfc140u.dll文件缺失”是什么原因?“找不到mfc140u.dll文件”要怎么解决?教你几招轻松搞定

《只狼》运行时提示“mfc140u.dll文件缺失”的科普与解决方案 作为一名软件开发从业者&#xff0c;在游戏开发和维护过程中&#xff0c;我们经常会遇到各种运行时错误和系统报错。今天&#xff0c;我们就来探讨一下《只狼》这款游戏在运行时提示“mfc140u.dll文件缺失”的原因…

华为HarmonyOS 让应用快速拥有账号能力 -- 3 获取用户手机号

场景介绍 当应用对获取的手机号时效性要求不高时&#xff0c;可使用Account Kit提供的手机号授权与快速验证能力&#xff0c;向用户发起手机号授权申请&#xff0c;经用户同意授权后&#xff0c;获取到手机号并为用户提供相应服务。以下只针对Account kit提供的手机号授权与快…

linux环境人大金仓数据库修改密码

1.进入人大金仓安装目录 cd /home/opt/Kingbase/ES/V9/Server/bin2.连接数据库 ./ksql -U system -d mydb -h 127.0.0.1 -p 54321-u 用户名 -d 数据库名 -h ip地址 -p 端口号 3.修改密码 ALTER USER system WITH PASSWORD 密码;

使用R语言进行美国失业率时空分析(包括绘图)

今天写一篇利用R语言&#xff0c;针对面板数据的简单分析与绘图。让我们直接开始把。 一、数据准备 这次的示例数据非常简单&#xff0c;只有一个shp格式的美国区县矢量数据&#xff0c;我们在QGIS中打开数据查看一下它的属性表。事实上我们需要的数据都在属性表的字段中。 二…

单片机几大时钟源

在单片机中&#xff0c;MSI、HSI和HSE通常指的是用于内部晶振配置的不同功能模块&#xff1a; MSI (Master Oscillator System Interface)&#xff1a;这是最低级的一种时钟源管理单元&#xff0c;它控制着最基本的系统时钟&#xff08;SYSCLK&#xff09;&#xff0c;一般由外…

前端开发 之 15个页面加载特效上【附完整源码】

文章目录 一&#xff1a;彩球环绕加载特效1.效果展示2.HTML完整代码 二&#xff1a;跷跷板加载特效1.效果展示2.HTML完整代码 三&#xff1a;两个圆形加载特效1.效果展示2.HTML完整代码 四&#xff1a;半环加载特效1.效果展示2.HTML完整代码 五&#xff1a;音乐波动加载特效1.效…

Spring入园须知

序 聊 Spring&#xff0c;先从发展历史谈起&#xff0c;对整个生态有个大致认识&#xff0c;最后再看下 Spring 依赖的基础机制——IoC 和 AOP&#xff0c;就达到入门须知的目的了。毕竟 Spring 太大了&#xff0c;如果把话题扯得太宽泛太细节&#xff0c;很可能会迷失在 Spri…

作品截图_

openstack project create --domain default --description "姓氏" xingopenstack user create --domain default --password-prompt --description "名字" mingziopenstack role create --description "姓名首字母" xmzopenstack role add --pr…

使用API管理Dynadot域名,设置默认域名服务器ip信息

前言 Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮箱&…

聚合支付系统官方个人免签系统三方支付系统稳定安全高并发

系统采用fastadmin框架独立全新开发&#xff0c;安全稳定,系统支持代理、商户、码商等业务逻辑。 针对最近一-些JD&#xff0c;TB等业务定制&#xff0c;子账号业务逻辑API 非常详细&#xff0c;方便内置对接! 注意&#xff1a;系统没有配置文档很使用教程&#xff0c;不清楚…

vue结合canvas动态生成水印效果

在 Vue 项目中添加水印可以通过以下几种方式实现&#xff1a; 方法一&#xff1a;使用 CSS 直接通过 CSS 的 background 属性实现水印&#xff1a; 实现步骤 在需要添加水印的容器中设置背景。使用 rgba 设置透明度&#xff0c;并通过 background-repeat 和 background-size…

S32K324 信息安全开发-Secure Debug原理及其实现

文章目录 前言Secure debug原理LC(Life Cycle)Application debug key/password (ADKP)固定密钥的实现方案一机一密实现方案AUTH_MODE的区别代码实现ADKP写入确认认证方式写入LC总结前言 车载信息安全对于MCU的要求越来越高,debug口作为直接刷写调试程序的通道,对其进行保护是…