TCP/IP 集成:从两个不同端口扫描数据,比较数据后有条件地打印
问题
在集成中,是否可以从两个不同的数据源读取数据,对比这些数据,然后根据对比结果有条件地打印文档?
回答
是的,这是完全可以实现的。下面是一个示例(使用 TCP/IP 套接字)。
1.-
以下集成文件展示了如何创建一个 TCP/IP 或串口集成,首先扫描第一组数据(会保存在 %EventData% 变量中),然后再创建一个额外的操作,用于扫描第二组数据(我将其存储在名为 %SecondScan% 的变量中)。
当你拥有两组数据后,可以通过 PowerShell 脚本进行对比:
$First = "%EventData%"
$Second = "%SecondScan%"
$Result = $First.equals($Second)
$Result
对比结果会写入第三个集成变量 %Result%。
最后,你可以根据 %Result% 的值执行有条件的“打印文档”操作。如果结果为 True,则会打印文档(在我的示例中,由于“等于”True 的判断没有生效,我用“以 T 开头”来代替)。
2.-
部分截图:
初始的 TCP/IP 检测配置为读取 5 个字符后停止:
第二次从网络套接字读取(这次作为一个操作),方式完全相同,但会开启一个新连接:
用于对比的 PowerShell 命令:
有条件的打印文档操作:
更多信息(内部)
集成文件和 Hydrashok 文件(这是一个 Seagull 工具,用于通过串口或 TCP/IP 端口发送数据)可以在这里下载:
https://seagull/confluence/pages/viewpage.action?pageId=36799556
关于 Hydrashok 的配置,我创建了两个触发器,一个在 5 秒时触发,为 TCP/IP 集成提供数据,另一个在 15 秒时触发,为“从网络套接字读取”操作提供数据。