汽车EDI:福特Ford EDI项目案例
项目背景
福特(Ford)是世界著名的汽车品牌,为美国福特汽车公司(Ford Motor Company)旗下的众多品牌之一。此前的文章福特FORD EDI需求分析中,我们已经了解了福特Ford EDI 的大致需求,本文将会介绍实际的Ford EDI 项目案例。
EDI部署方案
本次汽车行业T公司对接福特的EDI项目,T公司将知行之桥 EDI 系统部署在其本地服务器上,考虑到企业近期需要更换内部业务系统,在选择解决方案的时候选择Excel方案作为中间方案,后期业务系统更换完成后再进行集成。
相比于其他直接集成的方式,Excel方案稍有不同。Excel方案是EDI报文和Excel之间的数据转换。它的基本思路是:在接收到交易伙伴发来的EDI报文,并在EDI平台内部完成格式的转换之后,将数据直接呈现在Excel中。用户可以直观地看到接收到的数据;手动在Excel上录入数据之后,将Excel上传至EDI平台,EDI平台在内部做字段映射,将表格中的数据映射到固定的EDI字段上,最终生成EDI报文发送给交易伙伴。
在知行之桥EDI系统中,可以使用Excel端口完成Excel和XML的双向转换,使用Email Send/Receive端口可以发送/接收用户的Excel文件。
项目计划
我们的项目经理会提前根据项目的实际情况安排EDI部署流程和项目周期。通常情况下,由于对接交易伙伴以及EDI项目难易程度的不同,项目周期也各不相同。本次Ford EDI项目实施期间恰逢Ford方休假,使得项目周期被拉长至2个月左右。
T公司需要做的准备工作
1.准备部署EDI系统的服务器
T公司需要在本地准备自己的服务器,用于部署 EDI 系统。
2.T公司的开发人员需要配合完成的工作
由于国内和Ford之前存在时差,开发人员需要保证EDI服务器24小时正常运行,确保能够即及时收到Ford发来的EDI文件。由于本次EDI项目选择Excel方案,因此IT人员无需进行系统开发工作。
3.企业的业务人员需要配合完成的工作
业务人员需要与EDI顾问一同核对业务字段,确保T公司能够提供Ford要求的字段。其次还需要确认我们的EDI顾问设计的Excel模板,确保业务方能够清晰准确地填写此模板,根据实际业务需求,可以对模板进行适当调整。
Ford EDI项目成果
在知行之桥 EDI 系统中搭建如下工作流:
传输方式
选择OFTP2,OFTP 2可以对信息数据进行加密和数字签名,请求签名的收据,并提供高水平的数据压缩。
如果企业想使用 OFT2 连接 Ford或更改现有连接,请按照以下步骤操作:
-
根据Ford提供的参数,在企业的 EDI 系统中配置OFTP2 的连接信息。包括:Ford GEC Hub的OFTP ID(SSID)、OFTP密码、证书、DNS等。
-
填写福特 OFTP2 参数表格,并反馈给Ford。包括基本信息:5位的供应商GSDB代码、本次连接类型(新连接/更改连接)、地址、IT联系人。以及供应商的OFTP连接信息:供应商 OFTP ID(SSID、SFID)、证书、DNS提及 OFTP2软件名称等。
-
更改企业的防火墙设置,允许连接到 GEC Hub Ford,Ford将会提供IP 地址范围。
在知行之桥EDI系统中,需要在OFTP端口中配置上述提到的连接信息,如下图所示:
1.在 个人设置 界面配置T公司自己的OFTP2信息。
2.在 工作流 界面找到OFTP端口,点击并在 设置 选项卡下配置福特的OFTP2 信息。
报文标准
EDI 项目中的报文标准即交易双方约定一种文件传输格式,按照统一的格式传输业务信息,在Frod提供的EDI规范文件中可以得知,Ford当前使用的报文标准为X12,因此T公司需要具备解析和生成符合X12标准的EDI报文的能力。
数据格式转换
以接收方向为例,T公司接收来自Ford的EDI 830以及EDI 862,需要将接收到的EDI 报文转换为Excel。
Ford 发来的文件中可能会包含多个Ship To No(收货方编号),因此通过OFTP接收到文件后,需要利用Rename端口以及Branch端口对文件进行分类。如下图红色方框左侧的三个端口所示,将收货方编号分别为123B以及321A的两类数据分流到不同的流程中:
接下来需要借助红色方框中的端口实现EDI报文到Excel之间的格式转换,以EDI 830为例,T公司将会得到如下所示的包含830数据的Excel。
Ford EDI 项目测试流程
1.T公司需要在Ford GTPCM平台上创建 GTPCM需求。
扩展阅读:福特FORD EDI流程指南
2.测试环境连接测试
Ford EDI 项目分为生产和测试两个环境,首先需要与其测试环境进行连接测试。由于T公司并没有区分生产和测试环境,可以使用同一套SFID与Ford的测试和生产环境进行连接测试。
3.本地实施与业务测试
根据双方的业务需要,在知行之桥 EDI 系统上进行EDI 830、EDI 862以及EDI 856的实施。
T公司需要接收来自Ford的EDI 830、EDI 862,回复997,向Ford发送EDI 856,接收997。
4.生产环境连接测试
5.T公司需要接收来自Ford的EDI 830、EDI 862,回复997,向Ford发送EDI 856,接收997。
6.切生产
项目回顾
1.修改 Schema
福特使用的EDI报文标准是X12,版本号为00200,EDI系统中需要在软件的安装路径>www文件夹>app_data>x12_schemas 这个路径下配置相匹配的Schema文件夹,如下图所示:
2.修改GS08
本次Ford EDI 项目中,要求GS08(ID编码)的取值为 002002FORD,在知行之桥EDI系统 X12端口中可以对这个参数进行配置。
但上图所示的下拉列表中并没有Ford要求的数值,并非常用值,因此需要在后台进行手动调整。步骤如下:
- 在知行之桥 EDI 系统的安装路径下找到以下文件夹
ArcESB->workspaces->FORD->XMLToX12->port.cfg
上述路径中的X12即为工作流中的XMLToX12端口名称,如果使用到了多个X12端口,则需要修改不同的X12端口文件夹下的port.cfg文件。本项目中接收方向使用到了两个XMLToX12端口,因此需要修改这两个端口。
- 将gsgroupidentifiercode 的值修改为002002FORD,如果无法保存修改,可以使用管理员权限打开文件。
如下图所示:
了解更多 EDI 信息,请参阅: EDI 是什么?
阅读原文:汽车EDI:福特Ford EDI项目案例
相关文章:

汽车EDI:福特Ford EDI项目案例
项目背景 福特(Ford)是世界著名的汽车品牌,为美国福特汽车公司(Ford Motor Company)旗下的众多品牌之一。此前的文章福特FORD EDI需求分析中,我们已经了解了福特Ford EDI 的大致需求,本文将会介…...

正则表达式的使用实例
正则表达式的使用实例 1- 表示2- 实例 1- 表示 1, [:digit:] 表示0-9全部十个数字 //等价于 0123456789, 而不等价于[0123456789] 2, [[:digit:]] 表示任意一个数字 \{m,n\} 表示其前面的字符出现最少m次,最多n次的情况 \{3,\} 其前面的字符出…...

STM智能小车——OLED实现测速小车
目录 1. 测速模块 2. 测试原理和单位换算 3. 定时器和中断实现测速开发和调试代码 4. 小车速度显示在OLED屏 1. 测速模块 用途:广泛用于电机转速检测,脉冲计数,位置限位等。有遮挡,输出高电平;无遮挡,输出低电平接线…...
pod基本概念
目录 pod基本概念 pause容器 Pod分类: Pod容器的分类 1、基础容器(infrastructure container) 2、初始化容器(initcontainers) 3、应用容器(Maincontainer) 镜像拉取策略(im…...
SQL Server 中定时调度调用存储过程
要在SQL中定时调度调用存储过程,你可以使用SQL Server代理(如果你正在使用SQL Server数据库)。下面是一些步骤来配置SQL Server代理以定时调度调用存储过程: 打开SQL Server Management Studio (SSMS) 并连接到你的SQL Server实例…...

SpringCloud(三) Ribbon负载均衡
SpringCloud(二) Eureka注册中心的使用-CSDN博客 在SpringCloud(二)中学习了如何通过Eureka实现服务的注册和发送,从而通过RestTemplate实现不同微服务之间的调用,加上LoadBalance注解之后实现负载均衡,那负载均衡的原理是什么呢? 目录 一, 负载均衡 1.1 负载均衡原理 1.2 源…...

vue2:路由前置守卫无法获取到this.$store.state.xxx
在获取到vuex的数据时候,想在router目录下的index.js文件去获取到vuex仓库中声明的全局变量,但是通过this.$store.stote.xxx去获取的时候,报错提示:$store未定义 一、store/index.js const store new Vuex.Store({state: {// 属…...

Unity的碰撞检测(五)
温馨提示:本文基于前一篇“Unity的碰撞检测(四)”继续探讨两个游戏对象具备刚体的BodyType均为Dynamic,但是Collision Detection属性不同的碰撞检测,阅读本文则默认已阅读前文。 (一)测试说明 在基于两…...
Flutter笔记:Flutter的应用生命周期状态(lifecycleState)管理
Flutter笔记 Flutter的应用生命周期状态(lifecycleState)管理 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/…...
代碼隨想錄算法訓練營|第五十四天|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组。刷题心得(c++)
讀題 300.最长递增子序列 看完代码随想录之后的想法 思想上很簡單,dp[i]表示i之前的包括i的numbers[i]節尾的最長上升子序列的長度 並且透過兩層迴圈,一層遍歷全部,一層遍歷到i,透過比較當前dp[i]還是dp[j] 1哪個比較大&…...

正点原子嵌入式linux驱动开发——Linux 串口RS232/485/GPS 驱动
串口是很常用的一个外设,在Linux下通常通过串口和其他设备或传感器进行通信,根据 电平的不同,串口分为TTL和RS232。不管是什么样的接口电平,其驱动程序都是一样的,通过外接RS485这样的芯片就可以将串口转换为RS485信号…...

HDFS工作流程和机制
HDFS写数据流程(上传文件) 核心概念--Pipeline管道 HDFS在上传文件写数据过程中采用的一种传输方式。 线性传输:客户端将数据写入第一个数据节点,第一个数据节点保存数据之后再将快复制到第二个节点,第二节点复制给…...

CMMI/ASPICE认证咨询及工具服务
服务概述 质量专家戴明博士的名言“如果你不能描述做事情的过程,那么你不知道你在做什么”。过程是连接有能力的工程师和先进技术的纽带,因此产品开发过程直接决定了产品的质量和研发的效率。 经纬恒润可结合多体系要求,如IATF16949\ISO26262…...

【NI-DAQmx入门】计数器
1.计数器的作用 NI产品的计数器一般来说兼容TTL信号,定义如下:0-0.8V为逻辑低电平,2~5V为高电平,0.8-2V为高阻态,最大上升下降时间为50ns。 计数器可以感测上升沿(从逻辑低到逻辑高的转变)和下降…...

Python爬取读书网的图片链接和书名并保存在数据库中
一个比较基础且常见的爬虫,写下来用于记录和巩固相关知识。 一、前置条件 本项目采用scrapy框架进行爬取,需要提前安装 pip install scrapy# 国内镜像 pip install scrapy -i https://pypi.douban.com/simple 由于需要保存数据到数据库,因…...
js解决加油站
在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost &…...

【c++|opencv】二、灰度变换和空间滤波---5.中值滤波
every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 1. 中值滤波 #include<iostream> #include<opencv2/opencv.hpp> #include"Salt.h"using namespace cv; using namespace std;voi…...
python之pytorch多进程
目录 1、创建并运行并行进程 2、使用队列(Queue)来共享数据 3、进程池 4、进程锁 5、比较使用多进程和使用单进程执行一段代码的时间消耗 6、共享变量 多进程是计算机科学中的一个术语,它是指同时运行多个进程,这些进程可以…...
sqoop 抽数报错com.mysql.cj.exceptions.WrongArgumentException: HOUR_OF_DAY: 2 -> 3
文章目录 1.sqoop 抽数报错: Caused by: com.mysql.cj.exceptions.WrongArgumentException: HOUR_OF_DAY: 2 -> 3 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructor…...

【Acwing170】加成序列(dfs+迭代加深+剪枝)题解和一点感想
本思路来自acwing算法提高课 题目描述 看本文需要准备的知识 1.dfs算法基本思想 2.对剪枝这个词有个简单的认识 迭代加深思想和此题分析 首先,什么是迭代加深呢?当一个问题的解有很大概率出现在递归树很浅的层,但是这个问题的解本身存在…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...