项目实施过程中,需要明确数据是否已成功发送给交易伙伴。以防止数据漏发、错发给业务带来不必要的损失。在最新发布的知行之桥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。按照如下所示的对应关系建立映射:

在目标部分,添加脚本:

1

<rsb:set attr="_message.header:ID" value="[xpath(id)]"/>

上述脚本的主要功能是将数据库中的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" />

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

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 是什么?

阅读原文

使用成功路径实现数据库状态回传相关推荐

  1. (转)SQL Server数据库状态监控 - 作业状态

    4. SQL Server数据库状态监控 - 作业状态 有很多地方可以设置定时任务,比如:Windows的计划任务,Linux下的crontab,各种开发工具里的timer组件.SQL Server也 ...

  2. 华为云找到 “成功”路径

    自2017年3月华为云BU宣告成立到现在,两年多的时间,华为云一直在向前.虽然中间有走过弯 路,但总体上是在向上发展的. 2019,华为云进入发展快车道 2018年之前的华为云虽然业务发展得不慢,当由 ...

  3. Stetho增加SD卡路径的数据库

    Stetho简介 Chrome的Developer Tools对于WEB开发者来讲几乎是一个神器,而Chrome Store里也有无奇不有的插件,如果Chrome能调试应用应该是一件美好的事,而Fac ...

  4. 未能取得服务器的用户数据,未能成功连接到数据库服务器

    未能成功连接到数据库服务器 内容精选 换一换 CDC(Change Data Capture),即数据变更抓取,通过为源端数据源开启CDC,ROMA Connect可实现数据源的实时数据同步以及数据表 ...

  5. 关于数据库‘状态’字段设计的思考与实践

    最近在做订单及支付相关的系统,在订单表的设计阶段,团队成员就'订单状态'数据库字段设计有了一些分歧,网上也有不少关于这方面的思考和探讨,结合这些资料和项目的实际情况,拟对一些共性问题进行更深一层的思考 ...

  6. 如何查看MySQL数据库状态及信息(内存、数据库、编码格式、表、列、索引等)

    备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂. 本篇总结的是 <如何查看MySQL数据库状态及信息>,后续会每日更新~ ...

  7. springboot实现图片上传到又拍云中,并且保存图片外连接路径到数据库,外连接也可访问图片(一)

    注册又拍云账号,申请一个云存储空间.如果开启服务状态,开启状态把必须要进行实名认证.开启状态之后,自行申请服务即可.申请完成之后,点击配置 进入下个页面不用管,直接点击存储管理. 拉到最下面查看管理员 ...

  8. SQL SERVER 2005 数据库状态为“可疑”的解决方法

    重启服务 -------------------------------------------------- 日志文件丢了,建一个日志文件 ----------------------------- ...

  9. php || 上传图片,pdf等文件到本地/upload;再实现保存本地路径到数据库

    html代码(上传图片,文件): <html><head><meta http-equiv="content-type" content=" ...

最新文章

  1. 人工智能之算法知识与实战篇
  2. DevExpress的下拉框控件ComboBoxEdit控件的使用
  3. 讲讲 group by 的plus版
  4. 【计算机组成原理】加减法器
  5. 一次频繁Full GC的排查过程,根源居然是它...
  6. 【LeetCode】剑指 Offer 66. 构建乘积数组
  7. 三步完成博客打赏功能
  8. 2020.12.23 随笔纪念粉笔数【2020】
  9. 史上最失败系统!微软正式终止对Vista支持
  10. Android 使用数据库操作应用加锁、未加锁,列表展示效果
  11. OpenDaylight VTN 项目指南
  12. Ubuntu安装riscv-gnu-toolchain和riscv-tools
  13. 程序员的价值观与网络的复杂性
  14. 高性能裸金属服务器应用场景
  15. 学生论坛管理系统的设计与实现
  16. AI-041: Python深度学习3 - 三个Karas实例-3
  17. RFC2861 TCP 拥塞窗口检验
  18. HBuilder制作英雄皮肤抽奖小游戏
  19. E18-D80NK拆解
  20. 拆解金融科技Q3业绩:增长、迭代与飞轮效应

热门文章

  1. 数据库优化方法 (一)
  2. 最全面的UI自动化面试题全在这里了!你还在考虑什么?
  3. 样本均值方差的期望的推导
  4. 卡硬工具箱说系统服务器,卡硬工具箱|卡硬工具箱 v2.95官方版 - 系统天堂
  5. 【隧道篇 / PPTPL2TP】(5.2) ❀ 01. PPTP L2TP 连接 ❀ FortiGate 防火墙
  6. MATLAB和Python最优控制问题
  7. Linux下将nano编辑器Tab键设置成4个空格
  8. mblock控制SG90舵机模块
  9. 学会这10招,让你的服装短视频带货率提升50%
  10. 初学Java入门介绍