TCP/IP Integration: Scan data from 2 different ports, compare the data, then Print Conditionally. Follow

Avatar
Domingo Rodriguez

Question

In an integration, can you read data from 2 different sources, compare the data and then print a document conditionally based on the result of the data comparison?

Answer

Yes, this is indeed possible. Find below an example (using TCP/IP sockets).

 

1.-     

The following Integration File shows how you could create either a TCP/IP or Serial Port Integration to scan a first set of data (which will stay in %EventData%), then create an additional Action which will scan for a second set of data (which I have stored to a variable called %SecondScan%).

Once you have both sets of data, you can compare them via a PowerShell Script:

$First = "%EventData%"
$Second = "%SecondScan%"
$Result = $First.equals($Second)
$Result

The Result is written to a third Integration variable called %Result%.

Finally, you can perform a conditional "Print Document" action, based on the value of %Result%. If it's True, then the document will be printed (well, in my example I've used "Begins with" T as the "Equals" True comparison wasn't working). 

 

2.-     

Some screenshots:

The initial TCP/IP detection is configured to stop reading after 5 characters:

image2017-8-29_13_59_51.png

The Second Read from Network Socket (this time as an Action), works exactly in the same way, but opens a new connection:

image2017-8-29_14_1_23.png

 

The PowerShell command to perform the comparison:

image2017-8-29_14_2_13.png

 

The conditional Print Document Action:

image2017-8-29_14_2_45.png

 

More Information (Internal)

The Integration File + the Hydrashok File (which is a Seagull Tool used to fire data over Serial or TCP/IP port) can be downloaded from here:

https://seagull/confluence/pages/viewpage.action?pageId=36799556

As per the Hydrashok configuration, I've created 2 triggers, one which fires at 5 seconds and which will provide data for the TCP/IP Integration, and the second one which fires at 15 seconds, and which will provide the data for the "Read from Network Socket" Action.

Was this article helpful?

Please sign in to leave a comment.