博泽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对接的相关信息,欢迎交流。

阅读原文

 

posted @ 2024-12-03 15:14  EDI电子数据交换  阅读(9)  评论(0编辑  收藏  举报