当前位置: 首页 > news >正文

汽车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文件后,通过格式转换,将其转换为接收方的内部数据格式。通过这种方式,企业之间能够自动传输标准格式的电子形式的订单、发票、库存报告、发货通知等业务单据。

BENZ_edi1.png

如何通过知行之桥EDI系统实现与奔驰的EDI对接?

根据奔驰的EDI需求,想要实现EDI对接,企业需要这样的EDI解决方案:

  • 能够支持OFTP2、AS2或者SFTP
  • 能够处理符合EDIFACT / VDA报文标准下的EDI报文
  • 能够实现企业内部业务数据与EDI报文之间的格式转换
  • 能够实现与企业内部业务系统的集成
建立OFTP2连接

在知行之桥EDI系统中,建立OFTP2连接只需要创建一个OFTP端口,并在可视化界面中配置交易双方的连接信息即可。

1.OFTP端口的配置页面中填写奔驰的OFTP2连接信息

包括SSID/SFID、远程主机地址、奔驰的加密证书等。

BENZ_edi2.png

2.个人设置页面下的OFTP选项卡中填写供应商自己的OFTP2连接信息

BENZ_edi3.png

实现EDI报文的格式转换

奔驰EDI项目中,供应商需要接收奔驰发来的DELFOR物料需求计划,并给奔驰回复DESADV发货通知。

BENZ_edi4.png

以接受奔驰发来的 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题最接近的三数之和

题目&#xff1a; 题解&#xff1a; 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的区别&#xff1a; 正常关闭连接的时候发的包是FIN&#xff0c;但是如果是异常关闭连接&#xff0c;则发送RST包 两者的区别在于&#xff1a; 1.RST不必等缓冲区的包都发出去&#xff0c;直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送F…...

2024/4/1—力扣—删除字符使频率相同

代码实现&#xff1a; 思路&#xff1a; 步骤一&#xff1a;统计各字母出现频率 步骤二&#xff1a;频率从高到低排序&#xff0c;形成频率数组 步骤三&#xff1a;频率数组只有如下组合符合要求&#xff1a; 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 简单视频处理实战案例 之四 简单视频倒放效果 一、简单介绍 二、简单视频倒放效果实现原理 三、简单视频倒放效果案例实现…...

蓝牙学习十(扫描)

一、简介 从之前的文章中我们知道&#xff0c;蓝牙GAP层定义了四种角色&#xff0c;广播者&#xff08;Broadcaster&#xff09;、观察者&#xff08;Observer&#xff09;、外围设备&#xff08;Peripheral&#xff09;、中央设备&#xff08;Central&#xff09;。 之前的学习…...

(26)4.7 字符函数和字符串函数

#include<stdio.h> #include<string.h> #include<assert.h> //int my_strcmp(const char* str1, const char* str2) //{ // assert(str1 && str2);//指针有效性&#xff0c;不能为空指针 // while (*str1 *str2) // { // if (*str1…...

交换机与队列的简介

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

1.docker

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

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数据库分区表的详细用法

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

MySQL 索引底层探索:为什么是B+树?

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

XML HTTP传输 小结

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

相机标定——四个坐标系介绍

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

C++:MySQL数据库的增删改(三)

1、相关API 执行所有的sql语句都是mysql_query或者mysql_real_query mysql_query无法处理带有特殊字符的sql语句&#xff08;如&#xff1a;反斜杠0&#xff09;mysql_real_query则可以避免&#xff0c;一般使用这个。 mysql_affected_rows&#xff1a;获取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…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...