汽车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.对剪枝这个词有个简单的认识 迭代加深思想和此题分析 首先,什么是迭代加深呢?当一个问题的解有很大概率出现在递归树很浅的层,但是这个问题的解本身存在…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...