汽车行业 Y 公司对接斯堪尼亚 SCANIA EDI 项目案例
斯堪尼亚是一家来自瑞典的重型车辆制造公司,成立于1891年,总部位于斯德哥尔摩,主要专注于生产卡车、客车和工业发动机,以及相应的服务与解决方案。斯堪尼亚的产品以其高品质、可靠性和先进技术而闻名。其卡车广泛应用于货运和运输行业,被全球许多企业所信赖;而客车部门则提供豪华旅游客车和城市巴士,为人们提供便捷的公共交通选择。
项目挑战
近期斯堪尼亚SCANIA向其供应商Y公司提出,双方需要通过EDI传输业务数据,除了传输EDI报文之外,还需要生成多种标签。这意味着在选择EDI供应商的时候,Y公司需要多方考量,EDI 系统除了支持常用的传输协议以及报文标准之外,还需要具备生成标签的能力。
项目需求
传输协议:OFTP
通过OFTP实现Y公司和斯堪尼亚SCANIA之间的点对点通信。
报文标准:EDIFACT
DELFOR:交付预测(Delivery Forecast),斯堪尼亚发送给Y公司,根据采购合同中规定的条件,向供应商提供长期物料需求的细节信息。
DESADV:发货通知(ASN/Despatch Advice),Y公司发送给斯堪尼亚,根据供应商收到的交付预测和实际发货信息返回发货通知给斯堪尼亚。
INVOIC:发票(invoices),Y公司发送给斯堪尼亚。
EDI解决方案
建立OFTP通信
OFTP多用于汽车行业,在斯堪尼亚SCANIA EDI项目中,Y公司需要与斯堪尼亚SCANIA交换OFTP2连接信息。
需要使用ODETTE ID以及ODETTE证书,在OFTP连接中分别扮演什么样的角色呢?
ODETTE ID可以用作OFTP连接中的SSID。SSID用来标识OFTP/OFTP2实体,用以进行数据交换。
使用ODETTE证书,可以证明交易双方的身份,并确保其通过互联网进行数据交换的通信安全,保护信息免受他人攻击。
与斯堪尼亚SCANIA建立OFTP通信,除了上述的SSID之外还需要与SSID匹配的密码。斯堪尼亚SCANIA还将提供其远程 OFTP 服务器的主机名称或 IP 地址以及连接到远程 OFTP 服务器的端口。
数据格式转换
斯堪尼亚SCANIA发送数据给Y公司:Y公司需要通过EDI系统接收来自斯堪尼亚SCANIA 的符合EDIFACT报文标准的业务报文,将其转换为内部业务系统能够处理的格式。常见的有XML、Json、IDOC等。
Y公司发送给斯堪尼亚SCANIA:通过EDI系统将Y公司内部业务系统输出的文件转换为符合EDIFACT报文标准的文件,并发送给斯堪尼亚SCANIA。
项目成果
根据上述 EDI 需求,在知行之桥 EDI 系统中搭建如下图所示的工作流:

实现通信部分:
SCANIA EDI 项目中需要使用 OFTP 传输协议,在知行之桥 EDI 系统中,使用OFTP 端口即可实现企业与 SCANIA 之间OFTP传输通道的搭建。
在OFTP端口需要配置斯堪尼亚提供的SSID、密码、主机地址和端口信息,同时需要将Y公司的OFTP配置信息提供给斯堪尼亚。配置界面如下图所示:

实现数据格式转换部分:

通过上述的介绍。我们得知数据格式转换部分主要分为两个方向:
1.接收文件
通过OFTP端口接收到斯堪尼亚发送过来的业务报文后,先将报文转换为报文格式的XML文件,然后再将报文格式的XML文件转换为IDOC文件,并通过SAP端口传给Y公司的SAP系统。
2.发出文件
通过SAP端口接收来自Y公司SAP系统传输的IDOC格式的业务文件,然后再将IDOC文件转换为报文格式的XML,最后将报文格式的XML转换为对应的报文并通过OFTP端口传输给斯堪尼亚。
实现系统集成部分:

本地部署 EDI 系统的好处是可以实现 EDI 系统与企业内部业务系统的集成,由于Y公司选择的是直接和他们的SAP系统进行集成,所以通过EDI系统的SAP端口来和Y公司的SAP系统进行集成。知行之桥为 SAP 提供完整的端到端 EDI 解决方案,包括支持 tRFC 传输和 SAP IDOC 格式的能力。通过基于 SAP端口的配置及实施,即可实现 EDI 系统与SAP系统的集成。
了解更多 EDI 信息,请参阅: EDI 是什么?
阅读原文:汽车行业 Y 公司对接斯堪尼亚 SCANIA EDI 项目案例
相关文章:
汽车行业 Y 公司对接斯堪尼亚 SCANIA EDI 项目案例
斯堪尼亚是一家来自瑞典的重型车辆制造公司,成立于1891年,总部位于斯德哥尔摩,主要专注于生产卡车、客车和工业发动机,以及相应的服务与解决方案。斯堪尼亚的产品以其高品质、可靠性和先进技术而闻名。其卡车广泛应用于货运和运输…...
mysql到doris踩坑记录(如果有问题希望大家帮忙指出问题)
1安装mysql(该步骤晚上很多,不做记录) 2安装docker(同上) 3安装并部署doris(下载镜像步骤省略) sudo docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 \-itd starrocks.docker.scarf.sh/starrocks/allin1-ubuntu 官网地址从 Apache Flink 持续导入 Flink-c…...
苹果11手机设置手机跟踪功能
苹果11手机设置手机跟踪功能,就算是手机丢了,也能通过查询手机定位在哪里。 第一步:点击Apple ID进入详情 第二步:点击“查找” 第三步: 第四步: 到了这步,就算是设置成功。 下面需要到官方查询…...
下拉框可筛选可树状多选组件
实际效果图片 父页面 <el-form-item label"转发:" :label-width"formLabelWidth" class"formflex_item"><el-select ref"select" :clearable"true" clear"clearSelect" remove-tag"r…...
【LeetCode】70.爬楼梯
题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2…...
c#中的Math.Ceiling和Math.floor()和Math.Round()
Math.Ceiling(),只要有小数就加1(小数部分不为0) 例如: Math.Ceiling(0.0) -> 0 Math.Ceiling(0.1) -> 1 Math.Ceiling(0.2) -> 1 Math.Ceiling(0.3) -> 1 Math.Ceiling(0.4) -> 1 Math.Ceiling(0.5) -> 1 Math.Ceiling(0.6) -> 1…...
C++day7(异常处理机制、Lambda表达式、类型转换、STL标准库模板、迭代器、list)
#include <iostream>using namespace std; template <typename T> class vector { private:T* first;T* last;T* end; public:vector():first(new T),last(first),end(first){cout<<"无参构造"<<endl;}//无参构造vector(T* f):first(f),last…...
性能优化问题
提升首屏的加载速度,是前端性能优化中「最重要」的环节,这里笔者梳理出一些 常规且有效 的首屏优化建议 1、路由懒加载 SPA 项目,一个路由对应一个页面,如果不做处理,项目打包后,会把所有页面打包成一个文…...
【云原生系列】云计算概念与架构设计介绍
1 什么是云计算 云计算是一种基于互联网的计算模式,在这个模式下,各种计算资源(例如计算机、存储设备、网络设备、应用程序等)可以通过互联网实现共享和交付。云计算架构设计的主要目标是实现高效、可扩展、可靠、安全和经济的计算…...
Swoole协程系统HTTP服务
先启动宝塔 /etc/init.d/bt start 源码参考 https://github.com/zhangyue0503/swoole/tree/main/4.Swoole%E5%8D%8F%E7%A8%8B 对于异步来说,我们需要监听事件,并且监听的进程是并发的,所以会有一个问题,那就是无法保证前后顺…...
SpringCloud学习路线(13)——分布式搜索ElasticSeach集群
前言 单机ES做数据存储,必然面临两个问题:海量数据的存储,单点故障。 如何解决这两个问题? 海量数据的存储问题: 将索引库从逻辑上拆分为N个分片(shard),存储到多个节点。单点故障…...
CMIP6数据处理及在气候变化、水文、生态等领域中的应用
目录 专题一 CMIP6中的模式比较计划 专题二 数据下载 专题三 基础知识 专题四 单点降尺度 专题五 统计方法的区域降尺度 专题六 基于WRF模式的动力降尺度动态降尺度 专题七 典型应用案例-气候变化1 专题八 典型应用案例-气候变化2 专题九 典型应用案例-生态领域 专题…...
hadoop之mapreduce详解
一、概述 优化前我们需要知道hadoop适合干什么活,适合什么场景,在工作中,我们要知道业务是怎样的,能才结合平台资源达到最有优化。除了这些我们当然还要知道mapreduce的执行过程,比如从文件的读取,map处理&…...
leetcode做题笔记44
给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 ? 和 * 匹配规则的通配符匹配: ? 可以匹配任何单个字符。 * 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要条件是:字符模式必须能够 完…...
mac brew安装 node 踩坑日记- n切换node不生效
最近用了一个旧电脑开发,发现里面node管理混乱,有nvm、n和homebrew,导致切换node 切换不了,开发也有莫名其妙的错误。所以我打算重新装一下node,使用n做为管理工具。 1. 删除nvm cd ~ rm -rf .nvm2. 删除n sudo rm -…...
数据预处理matlab
matlab数据的获取、预处理、统计、可视化、降维 数据的预处理 - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/matlab/preprocessing-data.html 一、数据的获取 1.1 从Excel中获取 使用readtable() 例1: 使用spreadsheetImportOption…...
ubuntu18.04安装autoware1.15
目录 前言一、准备工作1.安装autoware1.152.安装依赖3.把src/autoware/common/autoware_build_flags/cmake文件夹下的CUDA版本改为11.4(或者你电脑上的版本) 二、解决报错错误类型1错误类型2错误类型3错误类型4错误类型5错误类型6 前言 本文参考链接&am…...
在CSDN学Golang云原生(Docker基础)
一,docker安装配置 要在golang中使用Docker,需要先安装并配置好Docker。下面是基本的Docker安装和配置步骤: 下载并安装Docker 官方下载地址:https://docs.docker.com/get-docker/ 根据你的操作系统选择对应版本的Docker&…...
Zookeeper命令总结
目录 1、常用命令2、ls path3、create xxx创建持久化节点创建临时节点创建持久化序列节点 4、get path5、set path6、delete path7、监听器总结1)节点的值变化监听2)节点的子节点变化监听(路径变化)3)当某个节点创建或…...
C语言中的函数(超详细)
C语言中的函数(超详细) 一、函数概述二、C语言中函数的分类1.库函数2.自定义函数三、函数的参数1.实际参数(实参)2.形式参数(形参)四、函数的调用1.传值调用2.传址调用五、函数的嵌套调用和链式访问1.嵌套调…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
高保真组件库:开关
一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...
