项目实施过程中,需要明确数据是否已成功发送给交易伙伴。以防止数据漏发、错发给业务带来不必要的损失。在最新发布的知行之桥EDI系统中,新增了显示成功路径功能。我们可以利用这个功能,快速实现数据库状态回传。
支持版本:知行之桥EDI系统22.0.8452.0或者更高版本
接下来为大家详细介绍如何根据当前数据处理情况完成状态回传。以中间数据库方案为例,在header表中,我们将id设置为主键:
status列可以用来标志每行数据的处理状态,如下图所示:status值为0表示新建状态,status值为1表示抓取成功状态,status值为2表示发送成功状态。
想要实现状态回传,我们主要使用数据库表里的id和status。接下来我们在知行之桥EDI系统中进行操作!
我们设定的场景是:EDI系统从中间数据库表中抓取数据,并进行格式转换,生成符合X12 国际报文标准的文件并通过AS2发送给交易伙伴。
需要实现的功能:在X12文件从AS2端口成功发出后,需要将发送成功的状态回传至相应的数据库表中。也就是我们上文提到的,需要令数据库header表下的status值由0变为1再变为2。如下是整体工作流:
1.数据库端口配置
在工作流界面左侧的
端口
选项卡下,找到
数据库
分类。将SQL Sever 端口拖拽至右侧空白区域。
点击SQL Server 端口,即可看到弹出的 设置 选项卡,在 配置>连接 下点击创建。这一步我们需要填写中间数据库的信息,实现与数据库的连接。如下图所示:
需要填写的信息如下:
填写完成后可以点击
测试连接
按钮,检查是否可以成功连接到我们配置好的数据库。当提示测试连接成功,即可点击右下角的
创建连接
按钮。接下来回到设置页面中,
选择操作为:Select。
找到下方的
Select
配置。如下图所示:
1)点击添加,选择我们上文存放id和status的header表。可以看到在左侧 列 的位置出现了我们header表中的两个列:id和status。
2)在
过滤规则
下,点击右侧添加规则,令status 等于0。
3)在
高级
下,勾选这行,并且设置为:当行处理成功时,更新列status,其值为1。
完成以上设置之后记得点击右上角,保存变更。在输出页面,点击接收,即可下载数据库XML文件。此时status状态变更为1,标识数据已被EDI系统成功抓取。
2.映射配置
新建一个XMLMap端口,将从数据库端口下载的数据库XML上传至 源文件 中。可以看到映射部分左侧出现了数据库中的两个字段:id以及status。按照如下所示的对应关系建立映射:
在目标部分,添加脚本:
上述脚本的主要功能是将数据库中的id值写入文件的消息头部,以便后续处理。我们在XMLMap的输出部分,点击输出文件,即可在其他消息头部中看到设置成功的ID值。
创建X12端口,在 设置 页面下,将 转换类型 设置为:XML转换为X12。
3.通信配置
创建两个AS2端口,一个为本地的AS2端口,将其命名为:I_AS2;另一个模拟交易伙伴方的AS2端口,将其命名为:AS2OUT。配置连接信息,实现自发自收。本文不再赘述,详细步骤参考:
AS2端口配置
4.脚本介绍
创建一个Script端口,在
设置
界面中写入如下脚本:
<rsb:set attr="file.filename" value="[FileName]" />
<rsb:set attr="file.data"><header>
<id>[_input.header:ID]</id>
<status>2</status>
</header>
</rsb:set>
<rsb:push item="file" />
AS2端口选择
显示成功路径
之后会出现一个绿色的小标识,将这个绿色标识引入新建的Script端口中。
当X12端口成功发出文件之后,文件会被传输到Script端口。创建一个SQLSever端口,操作为:Upsert
在
Upsert 配置
中,添加header表,在
列
部分选择 执行此查询以查找
UPSERT
键,填写为select id from header。
这一步我们将根据id值将status信息更新到数据库表中。此时header表中的status值将会被更新为2,表示数据已成功发送给交易伙伴。
为了验证我们的操作,我们从数据库中抓取一条status值为0 的数据,经过上述工作流的转换之后,成功从AS2端口发出。此时数据库里这条数据的status值被更新为2,表示文件已成功发送至交易伙伴。
我们打开此前配置的模拟交易伙伴AS2端口,可以在 输出 页面下看到我们发出的文件已被成功接收了!
如果你对使用成功路径实现数据库状态回传还有任何疑问,欢迎联系我们。
了解更多 EDI 信息,请参阅:
EDI 是什么?
了解更多EDI信息,请您通过邮件
[email protected]
联系我们。点击下方蓝色按钮,即可免费试用EDI软件。
免 费 试 用
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。