公司简介
- 美信Maxim Integrated成立于1983年。 是一家设计、制造、销售模拟和模数混合半导体产品的美国上市公司。
- 作为美信代理商的A公司是一家专注于DLP微型投影研发,设计,制造生产的专业化公司。
项目背景
需求提出背景
- 全球行业背景下,半导体供应链仍然脆弱,通过既有模式已无法满足市场需求,存在严重的交付风险。
- 为解决交付风险,美信Maxim通过与其代理商A公司沟通后,发现通过EDI模式实现芯片交付要优于既有的代理模式,基于EDI系统的代理需求模式应运而生。
- 通过EDI数据处理模式取代原有代理下单模式,减少中间环节,降低采购成本。
EDI业务计划
经过双方的前期业务需求确认会议,确认好所要对接的业务类型及实际的业务场景后,美信将给出一个EDI测试计划表。
(根据业务需求不同测试计划表会不一样,非下图,此处不赘述),其中将列出需要测试的业务场景及对应的计划时间。
上图所示为知行软件出具的实施周期表,为PO模式下的EDI测试计划表示例,预计整个业务测试的计划周期为4周,实际所用时长则会根据双方的业务需求,以及对业务数据的处理速度决定。
解决方案
内部数据同步方式
当知行之桥EDI系统收到数据之后,如何与内部的业务系统做数据同步,这个也需要确认,例如不做集成可以使用Excel、CSV、XML等中间格式,又或者选择中间数据库、RESTAPI、Webservice等集成方式。 因A公司自己开发了API接口和规则,所以选用了RestAPI的方式。
方案详解
【API调用】
知行之桥EDI系统通过RestAPI实现与A公司ERP系统的无缝集成;A公司提供了API接口文档,EDI实施顾问依据接口规范进行调用,以实现对业务数据的接收和发送。ERP与EDI系统交互的数据格式为JSON。
【A公司向美信发送文件】
知行之桥EDI系统的Script端口通过代码实现API的调用,以及时获取订单数据,订单数据将以JSON形式存在本地磁盘,再通过JSON端口将其转换成XML文件,然后将文件中的数据按照EDI规范进行关系映射,把整理好的XML文件转换成标准的EDI文件,随后通过AS2端口发送给美信Maxim。
【A公司从美信接收文件】
从AS2端口接收美信Maxim传送过来的EDI文件,通过X12端口转换成XML文件,再通过Script端口用代码实现Rename重命名之后,然后在Branch端口进行筛选匹配条件,将匹配条件设置成文件名。(例:如果文件名包含855,走实线;如果不是,走虚线。)
如果包含855、865、810、870、865U、856这些值的话,就在Map端口进行数据映射整理,整理之后通过端口中编写的既定代码将文件发送给A公司,完成数据传输。如果不包含855、865、810、870、865U、856这些值的话,则虚线在Notify端口进行报错并向A公司发送报错邮件。
注意事项
在获取订单及进行订单回复时,关于订单状态的变更,值得参考。
1.ERP规定数据区分状态。850订单的状态有三种:0表示新建订单,1表示EDI成功发送订单数据,2表示订单收到855回复; 2.EDI系统调用API获取订单时,要先查询所有状态为0的订单,再获取订单数据;
代码语言:javascript复制<!-- Query all data with status 0 -->
<rsb:set attr="docEntry.list" value=""/>
<rsb:set attr="time.stamp" value="[_ | now | todate(UNIX)]"/>
<rsb:set attr="in.postdata">{
"SendStatus": 0
}</rsb:set>
3.通过状态标识,可避免EDI系统重复处理数据;当EDI系统成功发送订单数据后,将状态及时更新为1,以便ERP 了解订单处理状态;
代码语言:javascript复制<!-- Query all data with status 1 -->
<rsb:set attr="docEntry.list" value=""/>
<rsb:set attr="time.stamp" value="[_ | now | todate(UNIX)]"/>
<rsb:set attr="in.postdata">{
"SendStatus": 1
}</rsb:set>
4.当EDI系统收到美信回复的855订单确认时,EDI系统先查询状态为1的订单,再根据订单号匹配是哪一条订单回复,将原始订单的状态更新为2,表示已收到美信的855订单回复。
代码语言:javascript复制<!-- Spell the data of header and item to 'post.data' -->
<rsb:set attr="post.data">{
"U_EDI_PURCHASE": [
{
"DocEntry":[doc.docEntry | def],
"SendStatus": 2,
"RowStatus":"U"
}
],
"U_EDI_PURCHASE1": [
[item.details]
]
}</rsb:set>
EDI系统业务测试报告
以上是根据850和855的逻辑,在验证知行之桥EDI系统的功能实现。测试场景列,是工作流中端口的命名,解决方案的更多内容,可在下方项目成果中详看。 知行软件至今已与100 电子行业企业建立过合作,通过系统集成的方式为最终客户提供了EDI ERP一体化解决方案。在以往的项目中,知行EDI系统成功对接SAP、金蝶、用友、鼎捷等知名ERP系统,具有丰富的对接经验。
【注:关于美信Maxim的需求概览、业务测试场景及项目注意事项属通用类型,详细内容可参照美信Maxim项目案例】
更多EDI信息,请参阅: EDI电子数据交换全解指南