汽车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.对剪枝这个词有个简单的认识 迭代加深思想和此题分析 首先,什么是迭代加深呢?当一个问题的解有很大概率出现在递归树很浅的层,但是这个问题的解本身存在…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
