TCP integration and integration variables Follow
Is it possible to use the information sent over TCP port to the Integration Builder as variables on the integration?
Yes, it is possible when the data sent over TCP already has a "table like" structure, like this one:
In order to be able to use the contents of "flat" files as variables, we need first to perform two additional actions: "For Each Database Record" and "Transform Text To Record set":
These two actions we can use "regardless of the type of integration" as we are going to use them based on the values of the %EventData% variable, that is the variable that saves all the incoming data for the integration.
1. The first action we need to define is the "Transform Text to record set" action (this action will transform the data as a database like structure):
To do that, we need first to have a "dummy" file that we will use to define the structure of the incoming data. For that we use a sample document with the same structure that we are then going to use on the sent data via TCP, for example:
Then, on the "Database Connection setup...", we use the wizard to link the "dummy" database file to our integration.
On the "Text Source" option we need to make sure that the "Variable" is set to "%EventData%" and that the output is "%EventData%" too.
This means that the data the action is going to use is the one on the variable "%EventData%" which is the one on which the integration is automatically going to save all the incoming data.
2. The second action we need to execute is "For Each Database record".
After we execute this option, we will have our incoming data available on the integration. We will also need to nest the "Print Document" action so that it is executed for each record on the database (so for each row of data sent):
3. Then, on the "Print Document" action we will be able to select the Field1 and Field2 variables obtained from our incoming data, for example to populate Named Data Sources: