博泽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=52f30b4d79a6dae6d34d6e0ceb627de91ec33033a59a8bb955ec6c0137730476
      postdata = {"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对接的相关信息,欢迎交流。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot读取tif图片转为png在前端预览

springboot读取tif图片转为png在前端预览 我这里是读取tif后转为png,再转为base64直接传给前端。 在线预览base64的地址&#xff1a;http://www.ecomcn.com/tool/Base64/ 文件目录结构&#xff1a; 代码&#xff1a; Overridepublic List<YbglSetYbSPlitListVo> ybgl…

学习日志020---qt信号与槽

作业 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QPushButton,QLineEditfrom Form import Ui_Form from second import Ui_second from PySide6.QtCore import Qtclass MyWidget(QWidget,Ui_Form):def __init__(self):super().__init__()self.setupUi(se…

Lua元表和元方法的使用

元表是一个普通的 Lua 表&#xff0c;包含一组元方法&#xff0c;这些元方法与 Lua 中的事件相关联。事件发生在 Lua 执行某些操作时&#xff0c;例如加法、字符串连接、比较等。元方法是普通的 Lua 函数&#xff0c;在特定事件发生时被调用。 元表包含了以下元方法&#xff1…

【HarmonyOS】鸿蒙应用使用lottie动画

【HarmonyOS】鸿蒙应用使用lottie动画 一、lottie动画是什么&#xff1f; https://airbnb.design/lottie Lottie是由Airbnb团队开发的一个适用于iOS、Android、React Native、Web和Windows的开源动画库&#xff0c;用于解析使用Bodymovin导出为JSON的Adobe After Effects动…

前缀和(四)除自身以外数组的乘积

238. 除自身以外数组的乘积 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&…

在数据库设计中同步冗余字段的思考与实践

目录 前言1. 冗余字段设计的背景与场景1.1 场景描述1.2 冗余字段的必要性 2. 冗余字段设计的优点2.1 提高查询效率2.2 简化应用逻辑 3. 冗余字段设计的缺点与挑战3.1 数据不一致问题3.2 更新开销增加3.3 数据冗余占用存储空间 4. 如何同步更新冗余字段4.1 手动更新方式4.2 使用…

Qt开发技巧(二十四)滚动部件的滑动问题,Qt设置时区问题,自定义窗体样式不生效问题,编码格式问题,给按钮左边加个图,最小化后的卡死假象

继续记录一些Qt开发中的技巧操作&#xff1a; 1.滚动部件的滑动问题 再Linux嵌入式设备上&#xff0c;有时候一个页面的子部件太多&#xff0c;一屏放不下是需要做页面滑动&#xff0c;可以使用“QScrollArea”控件&#xff0c;拖来一个“QScrollArea”控件&#xff0c;将子部件…

【5G】5G技术组件 5G Technology Components

5G的目标设置非常高&#xff0c;不仅在数据速率上要求达到20Gbps&#xff0c;在容量提升上要达到1000倍&#xff0c;还要为诸如大规模物联网&#xff08;IoT&#xff0c; Internet of Things&#xff09;和关键通信等新服务提供灵活的平台。这些高目标要求5G网络采用多种新技术…

后端返回前端的数据量过大解决方案

后端返回前端的数据量过大解决方案 性能面板(Performance) chrome调试指南 原因 遇到一个页面有好几个表格&#xff0c;部分表格采用虚拟滚动条 数据量有点大 接近快60s了&#xff0c;看一下是哪里导致的慢 后台请求方法执行并不慢 2024-12-04 15:21:52.889 INFO 69948 …

【CSS in Depth 2 精译_067】11.2 颜色的定义(中):CSS 中的色域与色彩空间

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 11 章 颜色与对比】 ✔️ 11.1 通过对比进行交流 11.1.1 模式的建立11.1.2 还原设计稿 11.2 颜色的定义 11.2.1 色域与色彩空间 ✔️11.2.2 深入理解颜色表示法 文…

【附源码】基于环信鸿蒙IM SDK实现一个聊天Demo

项目背景 本项目基于环信IM 鸿蒙SDK 打造的鸿蒙IM Demo&#xff0c;完全适配HarmonyOS NEXT系统&#xff0c;实现了发送消息&#xff0c;添加好友等基础功能。代码开源&#xff0c;功能简洁&#xff0c;如果您有类似开发需求可以参考。 源码地址&#xff1a;https://github.c…

AWS创建ec2实例并连接成功

aws创建ec2实例并连接 aws创建ec2并连接 1.ec2创建前准备 首先创建一个VPC隔离云资源并且有公有子网 2.创建EC2实例 1.启动新实例或者创建实例 2.创建实例名 3.选择AMI使用linux(HVM) 4.选择实例类型 5.创建密钥对下载到本地并填入密钥对名称 6.选择自己创建的VPC和公有子网…

请求路径中缺少必需的路径变量[xxxId]

一、请求路径中缺少了必需的路径变量 xxxId。 这通常发生在构建API请求时&#xff0c;未正确设置URL中的参数。以下是解决此问题的步骤&#xff1a; 检查API文档&#xff1a;确认 xxxId是否确实是请求路径中的必需参数。 构建请求URL&#xff1a;确保在构建请求URL时&#xff…

初识TCP(编写回显服务器)

目录 初识TCP&#xff08;编写回显服务器&#xff09;TCP相关的API服务器代码实现客户端代码实现部分代码解释注意事项效果展示 初识TCP&#xff08;编写回显服务器&#xff09; TCP相关的API ServerSocket &#xff1a; 这是socket类&#xff0c;对应到网卡&#xff0c;但是…

Kali Linux使用Netdiscover工具的详细教程

Kali Linux使用Netdiscover工具的详细教程 引言 在网络安全和渗透测试的过程中&#xff0c;网络发现是一个至关重要的步骤。Netdiscover是Kali Linux中一个非常实用的网络发现工具&#xff0c;它可以帮助用户快速识别局域网中的活动设备。本文将详细介绍如何使用Netdiscover工…

R语言机器学习论文(二):数据准备

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据一、数据描述二、数据预处理(一)修改元素名称(二)剔除无关变量(三)缺失值检查(四)重复值检查(五)异常值检查三、描述性统计(一)连续变量数据情…

Net9 Abp Vnext查询、高级搜索、过滤终极解决方案,ORM支持Freesql/SqlSugar/EFCore或原生sql

以员工管理表为例&#xff0c;常用栏位如下图 基本需求&#xff1a;默认搜索框可以模糊查询搜索工号、姓名、手机号、年龄等不需要关联查询基本字段。 特殊需求需要高级搜索&#xff1a;例如按入职区间、部门、公司、年龄段、上级主管等进行模糊搜索&#xff0c;且支持并且或者…

在办公室环境中用HMD替代传统显示器的优势

VR头戴式显示器&#xff08;HMD&#xff09;是进入虚拟现实环境的一把钥匙&#xff0c;拥有HMD的您将能够在虚拟现实世界中尽情探索未知领域&#xff0c;正如如今的互联网一样&#xff0c;虚拟现实环境能够为您提供现实中无法实现的或不可能实现的事。随着技术的不断进步&#…

PPT怎样做的更加精美

目录 PPT怎样做的更加精美 3D的GIF图片 3维空间图​编辑 结果有明显的对比 阅读高质量文献,采用他们的图 PPT怎样做的更加精美 3D的GIF图片 3维空间图 结果有明显的对比

Altium Designer学习笔记 26-27 PCB布局优化_规则创建

基于Altium Designer 23学习版&#xff0c;四层板智能小车PCB 更多AD学习笔记&#xff1a;Altium Designer学习笔记 1-5 工程创建_元件库创建Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制Altium Designer学习笔记 11-15 原理图的封装 编译 检查 _PCB封装库的创建Al…