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

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/