使用成功路径实现数据库状态回传

项目实施过程中,需要明确数据是否已成功发送给交易伙伴。以防止数据漏发、错发给业务带来不必要的损失。在最新发布的知行之桥EDI系统中,新增了显示成功路径功能。我们可以利用这个功能,快速实现数据库状态回传。

支持版本:知行之桥EDI系统22.0.8452.0或者更高版本

接下来为大家详细介绍如何根据当前数据处理情况完成状态回传。以中间数据库方案为例,在header表中,我们将id设置为主键:

edi

status列可以用来标志每行数据的处理状态,如下图所示:status值为0表示新建状态,status值为1表示抓取成功状态,status值为2表示发送成功状态。

edi

想要实现状态回传,我们主要使用数据库表里的id和status。接下来我们在知行之桥EDI系统中进行操作!

我们设定的场景是:EDI系统从中间数据库表中抓取数据,并进行格式转换,生成符合X12 国际报文标准的文件并通过AS2发送给交易伙伴。

需要实现的功能:在X12文件从AS2端口成功发出后,需要将发送成功的状态回传至相应的数据库表中。也就是我们上文提到的,需要令数据库header表下的status值由0变为1再变为2。如下是整体工作流:

edi

搭建步骤

1.数据库端口配置

edi

在工作流界面左侧的 端口 选项卡下,找到 数据库 分类。将SQL Sever 端口拖拽至右侧空白区域。

点击SQL Server 端口,即可看到弹出的 设置 选项卡,在 配置>连接 下点击创建。这一步我们需要填写中间数据库的信息,实现与数据库的连接。如下图所示:

edi

需要填写的信息如下:

服务器
端口
数据库
用户名
密码

填写完成后可以点击 测试连接 按钮,检查是否可以成功连接到我们配置好的数据库。当提示测试连接成功,即可点击右下角的 创建连接 按钮。接下来回到设置页面中,

edi

选择操作为:Select。

找到下方的 Select 配置。如下图所示:

edi

1)点击添加,选择我们上文存放id和status的header表。可以看到在左侧 列 的位置出现了我们header表中的两个列:id和status。
2)在 过滤规则 下,点击右侧添加规则,令status 等于0。
3)在 高级 下,勾选这行,并且设置为:当行处理成功时,更新列status,其值为1。

edi

完成以上设置之后记得点击右上角,保存变更。在输出页面,点击接收,即可下载数据库XML文件。此时status状态变更为1,标识数据已被EDI系统成功抓取。

edi

2.映射配置

新建一个XMLMap端口,将从数据库端口下载的数据库XML上传至 源文件 中。可以看到映射部分左侧出现了数据库中的两个字段:id以及status。按照如下所示的对应关系建立映射:

edi

在目标部分,添加脚本:

edi

上述脚本的主要功能是将数据库中的id值写入文件的消息头部,以便后续处理。我们在XMLMap的输出部分,点击输出文件,即可在其他消息头部中看到设置成功的ID值。

edi

创建X12端口,在 设置 页面下,将 转换类型 设置为:XML转换为X12。

edi

3.通信配置

创建两个AS2端口,一个为本地的AS2端口,将其命名为:I_AS2;另一个模拟交易伙伴方的AS2端口,将其命名为:AS2OUT。配置连接信息,实现自发自收。本文不再赘述,详细步骤参考:AS2端口配置

edi

4.脚本介绍

创建一个Script端口,在 设置 界面中写入如下脚本:

将对应id下的状态更新为2。

AS2端口选择 显示成功路径 之后会出现一个绿色的小标识,将这个绿色标识引入新建的Script端口中。

edi

当X12端口成功发出文件之后,文件会被传输到Script端口。创建一个SQLSever端口,操作为:Upsert

edi

Upsert 配置 中,添加header表,在 部分选择 执行此查询以查找 UPSERT 键,填写为select id from header。

edi

这一步我们将根据id值将status信息更新到数据库表中。此时header表中的status值将会被更新为2,表示数据已成功发送给交易伙伴。

edi

为了验证我们的操作,我们从数据库中抓取一条status值为0 的数据,经过上述工作流的转换之后,成功从AS2端口发出。此时数据库里这条数据的status值被更新为2,表示文件已成功发送至交易伙伴。

我们打开此前配置的模拟交易伙伴AS2端口,可以在 输出 页面下看到我们发出的文件已被成功接收了!

edi

如果你对使用成功路径实现数据库状态回传还有任何疑问,欢迎联系我们。

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

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

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

标签: , , ,
文章分类 帮助文档, 操作指南, 知识库