汽车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…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...