如何监控文件已成功通过EDI系统发给客户(三)-997回写

Published On: 2022年9月20日Categories: 帮助文档, 知识库Views: 3

© All rights reserved. • 西安知行软件有限公司 • 陕ICP备09022277号

今天继续给大家分享继邮件通知数据库状态回写后的第三种监控文件发送状态的方案:通过监控997功能性确认文件,进行数据状态回写。

您可能会有这样的疑问:什么情况下需要在知行EDI平台监控交易伙伴的997功能性确认文件来进行数据的状态回写?

首先,您需要对997进行了解:997是X12标准中的一种功能性确认文件,它是接收方EDI系统向发送方EDI系统发出的电子 “收据”,表明文件已被成功接收和阅读,在接收方收到X12文件后会对其结构和语法进行校验,校验后会给发送方回复997确认文件。997文件字段详细信息参考

其次,需要和您的交易伙伴沟通确认是否启用997功能,以下主要介绍基于知行之桥EDI系统启用997功能后实现对997文件的监控,完成数据的回写。

以上信息都清楚后,接下来给大家介绍下通过监控997进行数据回写的实现原理和步骤:

通过监控997功能性确认文件,进行数据状态回写通常使用在X12标准并启用997功能的方案中。

实现原理

启用997功能后,当发送业务数据X12文件给交易伙伴后,会收到交易伙伴回复的997功能性确认文件,根据997文件匹配成功发送的业务数据X12文件,回写至业务系统,其中业务数据X12文件中GS06的值和收到的997文件中AK102的值对应,本文将介绍收到交易伙伴的997文件后,回写业务数据库表中的状态字段并将997的原始文件名写入数据库表。

实现步骤

一、存储发送成功的业务数据EDI文件的GS06字段、业务主键信息

1.创建数据库表(示例:[dbo].[PO_Sent_Info]),用来存放发出的业务数据EDI文件的GS06字段、业务主键等信息

例如:以采购订单850为例,850文件发出后,将GS06和订单编号的值写入数据库,以下步骤均以采购订单850报文为例

edi

  1. 在(MFT)传输端口,以AS2端口为例,在AS2端口的事件-发送后(After Send)通过写脚本将发送成功的850 X12文件进行转发,发送到X12端口以便后续解析处理,脚本参考如下:

    



3.解析850报文,将报文中的GS06、订单编号字段存入数据库表,参考工作流如下:

edi

(1)T_X12ToXML_SentFile:X12端口,将850 X12文件转换为标准XML;
(2) T_XMLMap850_SentFile:XMLMap端口,将上一步标准XML中的GS06、订单编号BEG03字段映射到数据库表中的GSNO和PONO字段,输出一个数据库XML文件,参考如下:

edi

(3)T_Database_SentFile:数据库端口,连接数据库,配置[dbo].[PO_Sent_Info]表,选择Upsert操作,将上一步生成的数据库XML文件数据写入数据库存储。

edi

二、处理收到的997文件

  1. 在知行之桥中设置对997文件进行后续处理

设置如下:在X12(X12ToXML)端口的高级设置–其他设置下–功能性ACK:返回入站的功能性ACK

edi

默认情况下,所有功能性ACK(997,999)都将通过“路由ACK到端口”被路由至指定的端口,并且在XML转换时不会接收到X12端口的Receive文件夹。

启用后,XML转换后的ACK文件将被接收到X12端口的Receive文件夹中,以便进行后续处理。

2.997处理回写,参考工作流如下:

edi

(1)T_AS2:AS2端口,与客户进行文件传输,这里用来接收交易伙伴回复的997文件。
(2)T_X12ToXML:X12端口,将接收的997 EDI文件转换为标准XML文件,并存入Receive文件夹下进行后续处理;同时在该端口的事件–AfterSend写脚本,将997的原始文件名放在消息内容中的其他消息头部上。

脚本参考:

edi

实现结果:之后工作流的每个端口的消息内容中的其他消息头部都会显示自定义的originalFilename997(997的原始文件名)

edi

(3)T_Branch997:Branch端口,根据XPath判断文件是否是997文件;

edi

(4)T_DB_Lookup_997:Database端口,连接数据库,配置[dbo].[PO_Sent_Info]表,选择Lookup操作,查询数据库表中是否存在GSNO与997文件中AK102相同的数据,存在时获取其中的业务主键PONO并将其写入到997 XML文件中输出;

edi

(5)T_Branch_Back:Branch端口,判断上一步输出文件中的业务主键PONO是否存在;

edi

(6)T_Notify_NoPONO:Notify端口,当PONO不存在是进行邮件通知。
(7)T_XMLMap_Back:XMLMap端口,对上面业务主键(订单编号)存在的XML文件进行映射,生成采购订单850数据库表对应的XML结构,这里需要映射的字段有订单编号字段(PO_NUMBER)、数据状态字段(Status)和原始997文件名字段(OriginalFilename_997),如下参考:
(在前期创建850业务数据库表时,需要在表中设置了数据状态字段:Status和原始997文件名字段:OriginalFilename_997);

edi

(8)T_DB_LookupID:Database端口,连接数据库,配置PO表(示例为:[dbo].[PO_850]),配置Lookup操作,根据上一步的业务主键PO_NUMBER获取数据库中对应业务数据的主键ID,并输出到文件中ID列。

edi

(9)T_Database_850:Database端口,连接数据库,配置PO表(示例为:[dbo].[PO_850]),配置Upsert操作,根据主键ID更新数据状态字段:Status和原始997文件名字段:OriginalFilename_997。

将上一步生成的数据库XML文件数据写入数据库,更新Status字段数据为:The 997 document from the customer has been successfully received. 、更新OriginalFilename_997字段值为文件名信息,完成回写。

edi

数据库表中数据参考:

edi

参考:

[dbo].[PO_850]表是采购订单数据表,示例中表结构参考如下:

edi

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

了解更多EDI信息,请您电话 182-9578-5852或邮件 sales@kasoftware.cn 联系我们。点击下方蓝色按钮,即可免费试用EDI软件。

注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

为什么选择

知行之桥®?​

根据企业规模与集成需求,提供从本地部署到云端托管的灵活选择

可视化 EDI 工作流

基于拖拽式图形化设计器,零代码构建完整 EDI 业务流程,满足复杂供应链自动化场景。

Odette & Drummond 认证

通过 Odette(OFTP) 与 Drummond(AS2) 权威认证,确保与主机厂安全合规、高可靠的数据交换。

多系统集成能力

提供数据库、REST/SOAP、FTP/SFTP 等标准化接口,实现 ERP、WMS、MES 等系统的双向数据自动同步。

数据映射格式转换

内置可视化 Mapping 编辑器,零代码实现 EDI 报文与企业内部数据格式(XML/JSON…)的映射转换及复杂规则处理。

实时监控预警机制

全流程可视化监控报文状态,支持邮件、钉钉、企业微信自动预警,保障 JIT 交付的稳定性与及时性。

多工厂支持

支持集团级多组织、多工厂架构,实现数据隔离与权限管控,统一平台集中运维,满足大型制造企业多地点协同需求。