伟创力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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文