伟创力Flextronics EDI项目案例分享

2023-10-29 23:50

本文主要是介绍伟创力Flextronics EDI项目案例分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

伟创力国际有限公司(Flex International Ltd), 1969年成立于美国硅谷,1981年在新加坡建厂,并在纳斯达克(NASDAQ)上市。 2018年《财富》世界500强排行榜位列466位。 

项目背景

Flex 致力于通过建立更快、更具成本效益的供应链来提高客户的竞争力。为此,Flex发起了一项全球计划,旨在提高供应链的知名度以及与所有合作伙伴的协作。D公司作为Flex供应链上重要的供应商之一,也收到了此协作计划。

Flex的目标是在采购及付款交易方面实现完全自动化:比如预测、采购订单、确认、装运通知和发票。这将为他们的客户在成本、风险和速度方面创造更具竞争力的环境。通过共享实时供应链信息,伟创力Flex和他们的供应商合作伙伴还将受益于更高的响应能力、更少的错误和更高的可见性。

那Flex 是借助什么方式实现了与供应商的业务流程自动化呢?答案就是EDI电子数据交换。

需求及方案概览

AS2 是通过Internet 网络安全可靠的传输商业数据,这也是Flex 首推的通信方式。除了AS2,Flex 支持VAN。VAN旨在提供一种EDI托管服务,好比在企业与企业之间提供共享数据服务的中介。该服务称为“增值网络服务”。

考虑成本问题,推荐D公司选择AS2,除了确保数据安全之外,还可以节省更多的流量费。

Flex支持EDIFACT和X12报文标准。实现AS2通信后,EDI报文标准二选一即可,D公司选择的是X12标准。点击下载Flex EDI规范文档

交易类型业务含义传输方向
850Purchase Order / 采购订单Flex发给D公司
855Purchase Order Acknowledgment / 采购订单确认D公司发给Flex
860Purchase Order Change Request – Buyer Initiated/ 采购订单变更请求Flex发给D公司
865Purchase Order Change Acknowledgment/Request – Seller Initiated 订单变更确认D公司发给Flex

在了解Flex EDI的需求过程中,D公司技术部门已下载试用知行之桥EDI系统,并尝试跑通了知行官网公开的数据库方案工作流。由于对该方案的熟悉度,在项目正式启动时,当即选择了中间数据库方案,并选择自主实施。

为确保项目进度,项目经理提出了由知行的实施顾问带着D公司技术实现一收一发两个报文,深入了解我们的产品以及实施过程后,另外两种单据可自主实施,成本可控的同时效率还更高些。

方案详解及项目成果

上图是本次项目的工作流,以下是关于本项目工作流的核心功能,便于读者了解搭建EDI工作流的思路。

SQL Server端口:旨在连接SQL Server,并对数据库表中的数据进行增删改查。数据库端口输入输出的数据,均通过XML体现。上述数据库端口850_SQLServer、860_SQLServer负责插入来自Flex 850订单及 860订单变更的数据;855Data、865Data负责查询及输出855订单确认,865订单变更的数据。

X12端口:ASNI ASC X12是一种标准的EDI文件格式,常用于北美的EDI交换中。此端口支持X12与XML文件之间的相互转换。以接收850采购订单为例,经X12端口处理后的XML,与数据库订单表期待的XML 结构完全不一致,我们将借助XML Map端口做进一步处理。

XML Map端口:提供了一种可视化编辑器驱动的方式来将XML数据从一种结构转换成另一种结构。继续以850采购订单为例,可以将X12端口输出的XML,映射为850 SQLServer端口期待的XML,使其结构保持一致,这样数据可以顺利进入数据库。

Branch端口:实现数据分流,根据传入消息中的数据进行判断从而将消息分发至指定端口。上图中的工作流通过Branch 端口,区分收到的数据是850采购订单还是860订单变更。

Notify端口:向指定的收件人发送电子邮件通知,前提是必须在知行之桥EDI系统的个人设置中的收件人设置对应的邮箱。如有多个邮箱用英文逗号间隔。如果收到的数据非850采购订单及860订单变更的数据,会触发该端口发起邮件通知。

AS2端口:基于HTTP/S的B2B协议,通过安全可靠的AS2协议发送和接收消息。为电子数据交换(EDI)通信提供安全性、可靠性和不可抵赖性。(图中命名为:PatnerName_AS2)

项目回顾

因D公司要求自主实施项目,所以就由知行方的实施顾问带着D公司在做。最重要的是,过程中D公司给我们提了改进的建议(以下图片取自命名为855_OUT的XML Map端口):

因知行之桥EDI系统的端口ID设置后是改不了名的,防止误篡改导致某些需要端口ID代码的情况下失效。

D公司认为端口的名字应该改成随时可以更改。且表示页面上并不能直观显示出是哪个端口,不熟悉的也只能放大端口图标查看。一开始分不清楚哪个端口是哪个名字,应当显示ID、Name和类型这3个点比较方便。

非常感谢D公司提到的改善建议,我们也会尝试在后续的版本中进行类似内容的改进,同时我们也希望听到更多的客户的声音,帮助我们做得更好,也更能符合客户的预期需求。

注意事项

Flex提供的855和865规范中N9Loop字段下只有MSG,和X12标准不一致。在X12标准中,MSG是出现在N9Loop下的,且N9是必须要有的,Flex的规范中没出现N9,直接是MSG,所以在转EDI标准的XML的时候会报无效的错误,加上N9就可以了。(可以对比一下850和860中出现MSG出现的位置)



 

写在最后

以上就是我们关于D公司对接Flex伟创力 EDI的案例分享,如果大家有关于对接Flex伟创力的EDI需求或者希望了解更多的EDI案例,欢迎联系知行软件。

迄今为止,Flex已有1500多家主要供应商实现了完全自动化。希望你成为下一个。

扩展阅读:

EDI 850 采购订单 | EDI通信专家
EDI 855采购订单确认(POA) | EDI通信专家
EDI 856 发货通知或清单 | EDI通信专家
EDI 860 订单变更 | EDI通信专家
EDI 865 订单变更确认 | EDI通信专家

更多EDI信息,请参阅: EDI是什么?

这篇关于伟创力Flextronics EDI项目案例分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/304209

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin