在此前的文章《家居EDI:La-Z-Boy EDI 项目案例》中,为大家介绍了La-Z-Boy的EDI 需求以及在知行之桥EDI系统中的具体实现,本文主要为大家介绍La-Z-Boy EDI项目测试流程。
梳理需求文档
La-Z-Boy 提供的EDI资料主要包括:EDI 850订单以及EDI 856发货通知的规范文件(版本号:4010),La-Z-Boy 的AS2连接信息文档以及标签模板与详细介绍等。
AS2连接测试
开始与La-Z-Boy建立连接测试之前,需要完成以下准备:
1.部署服务器,服务器需要具备可供外网访问的 IP 和域名,开通EDI所需端口以及防火墙白名单设置等。
2.交换配置信息,需要与La-Z-Boy交换连接信息。La-Z-Boy会将其测试和生产环境的AS2连接信息(La-Z-Boy-AS2-Residential文档)通过邮件提供给供应商,供应商需要提供EDI供应商信息、AS2基本信息、AS2测试环境和生产环境的连接信息,可以按照如下所示的模板提供:
互相交换AS2连接信息之后,需要在各自的EDI系统中配置连接信息,开始连接测试。主要验证:La-Z-Boy 发送测试文件给供应商,供应商确认是否收到。供应商给La-Z-Boy 发送测试文件,La-Z-Boy 确认是否成功收到。在知行之桥EDI系统中,可以在AS2端口(可以理解为功能模块)中进行可视化的配置,无需代码。界面如下所示:
La-Z-Boy 发送测试文件给供应商的时候遇到报错,可以请La-Z-Boy 提供MDN,了解详细的报错信息,在本案例中,未能成功收到La-Z-Boy 发来的测试文件是因为La-Z-Boy 的EDI团队未能正确配置供应商的AS2 ID,沟通修改即可。
实施方案
通过AS2传输通道,实现了La-Z-Boy的EDI系统与供应商使用的知行之桥EDI系统的连接,接下来需要解决如何实现供应商ERP系统与EDI系统的数据同步,知行之桥EDI系统支持多种集成方式,如:中间数据库、API等。
本案例中,供应商使用的ERP系统为金蝶云星空,支持通用API接口、定制API接口。经过会议沟通,最终决定使用中间数据库方式集成,实现:
- EDI系统提供采购订单数据给ERP系统(解析EDI 850采购订单)
- ERP系统提供发货通知数据给EDI系统(生成 EDI 856发货通知)
ERP中的字段如果进行修改、删除或者变更,需要保证数据库中间表以及知行之桥EDI系统的同步更改。EDI会定时从中间数据库读取数据,因此企业传到中间数据库中的ASN发货通知数据必须是确认过没问题,可以直接发送给La-Z-Boy的。
在本次案例中,标签部分由ERP系统来完成。知行之桥EDI系统也支持制作标签,需要根据La-Z-Boy提供的标签文档进行设计。操作步骤如下:如何使用PDF端口生成标签Label?
EDI 850 采购订单
业务层面沟通
BEG字段主要包含订单类型以及采购订单编号与日期,其中BEG01的值一般为00表示原始订单,BEG02的值一般为OS表示Special Order (Sold),SA表示Stand-alone (Stock)。
示例:
BEG*00*SA*12123520**20240814**NA!
报文字段沟通
EDI实施过程中知行的实施工程师将会根据La-Z-Boy提供的规范整理一个Mapping文件,包含规范中的所有业务字段。对于订单,EDI会把La-Z-Boy发送过来的订单里的所有业务数据都解析到中间数据库表,然后ERP根据供应商的需求读取所需字段即可。
对于业务人员来说,需要查看EDI中提供的哪些业务字段是需要抓取到数据库的,如果EDI中的字段在ERP中没有能够匹配的,则需要ERP顾问在ERP系统中添加EDI需要的字段。
EDI 856 发货通知/ASN
业务层面沟通
存放 EDI 856 发货通知的数据库中间表中会有一个status列,ERP中新增数据时,需要在此列填写0(表示新增数据),EDI系统从数据库表中读取后会将Header表中的状态更新为1(表示数据已被抓取)。
体现在知行之桥EDI系统中,需要在处理 EDI 856 的SQLServer端口的 设置 选项卡下,选择 操作 为 Select,在Select配置中,添加一行代码:
<status updateValue='1' />
如下图所示:
La-Z-Boy 在本次项中的包装方式较为简单,采用单包装(Single Pack),包装结构为(SOIP)。
报文字段沟通
对于发货通知而言,ERP需要确保将La-Z-Boy要求的必需字段以及供应商需要传输给La-Z-Boy的字段传输到中间数据库中。
对业务人员来说,需要确认发货通知中哪些字段是业务人员目前可以提供的,如果不能提供,可以先进行测试,通过邮件沟通,如果La-Z-Boy要求必填,则需要内部沟通确认,在业务系统中添加字段。
EDI业务测试
1.EDI 856 发货通知中的收货方信息(ship to)是必填,业务测试过程ERP提供的数据中多次出现缺失,建议ERP加强校验;
2.EDI856 缺失发货方信息(ship from)段,包括N4(包含了发货方城市、省份、以及邮编和国家代码)。需要注意类似这种必填值必须提供,否则将无法通过业务测试。
3.供应商在填写过程中,可能会漏填REF中的发票号信息,注意,此信息为必填项。
4.LIN03中存放的序列号即为包装号,La-Z-Boy要求的LIN03(supplier Item Number)应为supplier number+9位数字,需要保证唯一性,如supplierNo000000001。
项目成果
为满足La-Z-Boy对供应商的要求,供应商需要在本地服务器上部署知行之桥EDI系统,搭建如下所示的工作流:
点击获取开源的La-Z-Boy 示例工作流
了解更多 EDI 信息,请参阅: EDI 是什么?
阅读原文