汽车EDI:如何与奔驰建立EDI连接?
梅赛德斯-奔驰是世界闻名的豪华汽车品牌,无论是技术实力还是历史底蕴都在全球汽车主机厂中居于领先位置。奔驰拥有多种车型,多元化的产品布局不仅满足了不同用户画像的需求,也对其供应链体系有着极大的考验。
本文将为大家介绍梅赛德斯-奔驰乘用车以及商用车部门采购流程中的信息流结构。为确保信息流的一致性、无故障和及时性,优化交付流程所需的数据交换是全球汽车行业的一个重要目标,具备EDI能力将帮助企业保持并提高市场竞争力。
奔驰早在 1983 年就开始使用电子数据交换,这在当时还是一种非常新颖的信息交换方式。如今,电子数据交换已成为当今世界上开展业务的一种可靠、先进的通信渠道。与汽车行业的大多数主机厂一样,奔驰搭建了一个自己的EDI数据中心,通过EDI与交易伙伴传输交付预测、发货通知以及发票等业务单据。
传输协议
奔驰支持的连接方式包括:OFTP2、AS2以及SFTP。使用较多的传输协议为OFTP2。
报文标准
奔驰EDI项目中使用到的EDI报文标准涉及到了EDIFACT以及VDA,具体使用哪种报文标准需要以奔驰提供的资料为准。传输的业务单据如下:
- 物料需求计划DELFOR/VDA 4905
- 发货通知DESADV
EDI是如何工作的?
除了传输协议和报文标准之外,还需要结合企业的实际需求,确认最合适的EDI解决方案。EDI的工作流程是:EDI能够实现企业间(B2B)的自动化通信,对发送方的内部数据进行格式转换,以EDI文件的形式通过EDI传输通道发送至接收方。接收方收到EDI文件后,通过格式转换,将其转换为接收方的内部数据格式。通过这种方式,企业之间能够自动传输标准格式的电子形式的订单、发票、库存报告、发货通知等业务单据。
如何通过知行之桥EDI系统实现与奔驰的EDI对接?
根据奔驰的EDI需求,想要实现EDI对接,企业需要这样的EDI解决方案:
- 能够支持OFTP2、AS2或者SFTP
- 能够处理符合EDIFACT / VDA报文标准下的EDI报文
- 能够实现企业内部业务数据与EDI报文之间的格式转换
- 能够实现与企业内部业务系统的集成
建立OFTP2连接
在知行之桥EDI系统中,建立OFTP2连接只需要创建一个OFTP端口,并在可视化界面中配置交易双方的连接信息即可。
1.OFTP端口的配置页面中填写奔驰的OFTP2连接信息
包括SSID/SFID、远程主机地址、奔驰的加密证书等。
2.个人设置页面下的OFTP选项卡中填写供应商自己的OFTP2连接信息
实现EDI报文的格式转换
奔驰EDI项目中,供应商需要接收奔驰发来的DELFOR物料需求计划,并给奔驰回复DESADV发货通知。
以接受奔驰发来的 DELFOR 物料需求计划为例,可以创建EDIFACT端口以及XMLMap端口,实现从EDI报文到自定义XML的格式转换,便于进一步处理。除XML之外,还支持实现EDI报文与Excel、CSV、Json等格式的转换。
对于DESADV的处理,则是反方向的,企业将数据提供给知行之桥,通过知行之桥将其转换为符合奔驰要求的DESADV发货通知,通过OFTP2传输通道发送给奔驰。
在EDI系统中的操作,可以勾选每个端口的自动化选项卡,从而实现业务数据的自动化收发以及处理,无需人为干预。
系统集成
知行之桥EDI系统能够实现与企业内部ERP系统的集成,支持中间数据库、Webservice、API等多种方式,上述工作流中采用了中间数据库方案。
中间数据库方案:通过将数据放置于中间数据库中,EDI和后端系统可以完成数据的同步,不管是ERP、SAP、SRM、MES、MRP还是其他任何系统,都可以通过此种方式集成。
使用中间数据库表的方式集成知行之桥EDI系统和企业的业务系统,就是采用一张或多张数据库表作为中间表,存放知行之桥EDI系统收到EDI报文后解析所得的业务数据,以及发送EDI报文需要ERP提供的数据。中间数据库表,顾名思义它不等于ERP系统的生产数据库表,ERP仅在这个数据库中存放EDI发送报文所需的业务数据,和读取EDI接收的业务数据。
注意事项
从测试流程切换至生产模式
大多数EDI项目都有测试和生产两套环境,企业需要先在测试环境中完成连接测试以及业务测试,确保当前EDI实施的内容能够满足合作伙伴要求的所有业务场景。完成测试流程之后,方可切换至生产环境中。流程如下:
- 与奔驰的测试系统进行连接测试
- 传输独立单据的测试(包括:DELFOR/VDA 4905以及DESADV)
在通过 EDI 连接通道成功进行程序测试后,每个供应商都可以传输任意数量的测试数据并进行独立检查。需要按照奔驰提供的SSID、SFID以及虚拟文件名进行传输。
虚拟文件名即VFN(Virtual File Name),奔驰通过虚拟文件名将文件名统一格式,方便后续处理和查看。
虚拟文件名的设置
虚拟文件名与真正的文件名不同,虚拟文件名是文件的一个属性,在设置虚拟文件名后,文件本身的名称不会改变,而文件多了该属性值。在与交易伙伴收发报文时,VFN的格式要按照交易伙伴的要求设置,一般来说,每个交易伙伴对VFN的格式要求都是固定统一的。大多包含以下信息:工厂代码、供应商编号、报文类型等。VFN的设置可以便于交易伙伴通过虚拟文件名对文件进行快速的识别,在虚拟文件名中提取关键信息,从而直接对报文进行分流处理。
在知行之桥EDI系统中,可以在OFTP端口进行简单配置,从而实现虚拟文件名的设置。可以参考文章:OFTP虚拟文件名设置
扩展阅读:更多奔驰EDI信息
了解更多 EDI 信息,请参阅: EDI 是什么?
相关文章:

汽车EDI:如何与奔驰建立EDI连接?
梅赛德斯-奔驰是世界闻名的豪华汽车品牌,无论是技术实力还是历史底蕴都在全球汽车主机厂中居于领先位置。奔驰拥有多种车型,多元化的产品布局不仅满足了不同用户画像的需求,也对其供应链体系有着极大的考验。 本文将为大家介绍梅赛德斯-奔驰乘…...

性能分析--内存知识
内存相关知识 计算机中与CPU进行数据交换的桥梁。内存的速度,比CPU的速度要慢很多。比磁盘速度要快很多。内存中存放数据,一旦断电就会消失。linux系统的 /proc路径下的文件,都是内存文件。内存大小,一般 是GB为单位。 现在都操作…...

目标检测标签分配策略,难样本挖掘策略
在目标检测任务中,样本的划分对于模型的性能具有至关重要的影响。其中,正样本指的是包含目标物体的图像或区域,而负样本则是不包含目标物体的图像或区域。然而,在负样本中,有一部分样本由于其与正样本在特征上的相似性…...

Java | Leetcode Java题解之第16题最接近的三数之和
题目: 题解: class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int n nums.length;int best 10000000;// 枚举 afor (int i 0; i < n; i) {// 保证和上一次枚举的元素不相等if (i > 0 && nums…...

FIN和RST的区别,几种TCP连接出现RST的情况
一、RST跟FIN的区别: 正常关闭连接的时候发的包是FIN,但是如果是异常关闭连接,则发送RST包 两者的区别在于: 1.RST不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送F…...

2024/4/1—力扣—删除字符使频率相同
代码实现: 思路: 步骤一:统计各字母出现频率 步骤二:频率从高到低排序,形成频率数组 步骤三:频率数组只有如下组合符合要求: 1, 0...0n 1, n...n (, 0)n...n, 1(, 0) bool equalFrequency(char…...

Spring源码解析-容器基本实现
spring源码解析 整体架构 defaultListableBeanFactory xmlBeanDefinitionReader 创建XmlBeanFactory 对资源文件进行加载–Resource 利用LoadBeandefinitions(resource)方法加载配置中的bean loadBeandefinitions加载步骤 doLoadBeanDefinition xml配置模式 validationMode 获…...

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之四 简单视频倒放效果
Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之四 简单视频倒放效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之四 简单视频倒放效果 一、简单介绍 二、简单视频倒放效果实现原理 三、简单视频倒放效果案例实现…...

蓝牙学习十(扫描)
一、简介 从之前的文章中我们知道,蓝牙GAP层定义了四种角色,广播者(Broadcaster)、观察者(Observer)、外围设备(Peripheral)、中央设备(Central)。 之前的学习…...

(26)4.7 字符函数和字符串函数
#include<stdio.h> #include<string.h> #include<assert.h> //int my_strcmp(const char* str1, const char* str2) //{ // assert(str1 && str2);//指针有效性,不能为空指针 // while (*str1 *str2) // { // if (*str1…...

交换机与队列的简介
1.流程 首先先介绍一个简单的一个消息推送到接收的流程,提供一个简单的图 黄色的圈圈就是我们的消息推送服务,将消息推送到 中间方框里面也就是 rabbitMq的服务器,然后经过服务器里面的交换机、队列等各种关系(后面会详细讲&…...

1.docker
Docker 是一种容器化平台,可以在不同的操作系统中轻松运行和管理应用程序。它使用容器技术来打包应用程序及其所有依赖关系,使其可以在任何环境中运行。 Docker 的基本概念包括以下几个部分: 镜像(Image):…...

ThinkPHP审计(2) Thinkphp反序列化链5.1.X原理分析从0编写POC
ThinkPHP审计(2) Thinkphp反序列化链子5.1.X原理分析&从0编写POC 文章目录 ThinkPHP审计(2) Thinkphp反序列化链子5.1.X原理分析&从0编写POC动态调试环境配置Thinkphp反序列化链5.1.X原理分析一.实现任意文件删除二.实现任意命令执行真正的难点 Thinkphp反序列化链5.1.…...

KingbsaeES数据库分区表的详细用法
数据库版本:KingbaseES V008R006C008B0014 简介 分区表是一种将大型数据库表拆分为更小、更可管理的部分的技术。它通过将表数据分散存储到多个物理存储单元中,可以提高查询和数据维护的性能,并优化对大型数据集的处理。本篇文章以kingbase为…...

MySQL 索引底层探索:为什么是B+树?
MySQL 索引底层探索:为什么是B树? 1. 由一个例子总结索引的特点2. 基于哈希表实现的哈希索引3. 高效的查找方式:二分查找4. 基于二分查找思想的二叉查找树5. 升级版的BST树:AVL 树6. 更加符合磁盘特征的B树7. 不断优化的B树&#…...

XML HTTP传输 小结
what’s XML XML 指可扩展标记语言(eXtensible Markup Language)。 XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。 XML 是独立于软件和硬件的信息传输工具。 应该掌握的基础知识 HTMLJavaScript…...

相机标定——四个坐标系介绍
世界坐标系(Xw,Yw,Zw) 世界坐标系是一个用于描述和定位三维空间中物体位置的坐标系,通常反映真实世界下物体的位置和方向。它是一个惯性坐标系,被用作整个场景或系统的参考框架。在很多情况下,世界坐标系被认为是固定不变的,即它…...

C++:MySQL数据库的增删改(三)
1、相关API 执行所有的sql语句都是mysql_query或者mysql_real_query mysql_query无法处理带有特殊字符的sql语句(如:反斜杠0)mysql_real_query则可以避免,一般使用这个。 mysql_affected_rows:获取sql语句执行结果影响…...

golang - 简单实现linux上的which命令
本文提供了在环境变量$PATH设置的目录里查找符合条件的文件的方法。 实现函数 import ("fmt""os""path""strings" )// 实现 unix whtich 命令功能 func Which(cmd string) (filepath string, err error) {// 获得当前PATH环境变量en…...

推荐一个好用的数据库映射架构
SqlSugar ORM 优点: SqlSugar 是 .NET 开源 ORM 框架,由 Fructose 大数据技术团队维护和更新,是开箱即用最易用的 ORM 优点: 【低代码】【高性能】【超简单】【功能综合】【多数据库兼容】【适用产品】 支持 .NET .NET framework.net core3.1.ne5.net6.net7.net8 .net…...

(013)window的Idea运行程序 Amazon java.nio.file.AccessDeniedException
解决方法一 在资源管理器中删除该目录, 在程序中使用代码,重新建立该目录: if (!FileUtil.exist(destinationPath)){FileUtil.mkdir(destinationPath); }解决方法二 JDK 的版本有问题,换个JDK。 解决方法三 网络不好…...

LeetCode 1684. 统计一致字符串的数目
解题思路 首先用set把allowed中的字符保存,然后一一判断。 相关代码 class Solution {public int countConsistentStrings(String allowed, String[] words) {Set<Character> set new HashSet<>();int reswords.length;for(int i0;i<allowed.len…...

uniapp-设置UrlSchemes从外部浏览器H5打开app
需求:外部浏览器H5页面,跳转到uniapp开发的原生app内部。 1、uniapp内部的配置: (1)打开manifest->App常用其他设置,如下,按照提示输入您要设置的urlSchemes: (2&am…...

校园圈子小程序,大学校园圈子,三段交付,源码交付,支持二开
介绍 在当今的数字化时代,校园社交媒体和在线论坛成为了学生交流思想、讨论问题以及分享信息的常用平台。特别是微信小程序,因其便捷性、用户基数庞大等特点,已逐渐成为构建校园社区不可或缺的一部分。以下是基于现有资料的校园小程序帖子发…...

基于kmeans的聚类微博舆情分析系统
第一章绪论 1.1研究背景 如今在我们的生活与生产的每个角落都可以见到数据与信息的身影。自从上十世纪八十年代的中后期开始,我们使用的互联网技术已经开始快速发展,近些年来云计算、大数据和物联网等与互联网有相领域的发展让互联网技术达到了史无前例…...

【Docker常用命令(四)】
目录 Docker常用命令(四)注意 Docker常用命令(四) docker pause docker pause 命令用于暂停容器中的所有进程。docker pause CONTAINER [CONTAINER...]常用子命令和选项:无特定常用选项。docker port docker port 命令…...

黑豹程序员-Spring Task实现定时任务
定时任务 项目中,我们有一个特殊的要求,无需人为去触发,而是自动去触发程序。通常有一定的频率,每天,某时等。 实现的四种方式 1、java自身提供定时任务java.util.Timer类,但太过简单,几乎无…...

云原生安全当前的挑战与解决办法
云原生安全作为一种新兴的安全理念,不仅解决云计算普及带来的安全问题,更强调以原生的思维构建云上安全建设、部署与应用,推动安全与云计算深度融合。所以现在云原生安全在云安全领域越来受到重视,云安全厂商在这块的投入也是越来…...

Qt——Qt实现数据可视化之QChart的使用总结(使用QChart画出动态显示的实时曲线)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》...

(React生命周期)前端八股文修炼Day8
一 React的生命周期有哪些 React组件的生命周期可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。React类组件的生命周期方法允许你在组件的不同阶段执行代码。 挂载…...