Use the INFA_CTSetPassThruPort() function when you want the Integration Service to pass data from an input port to an output port without modifying the data. When you use the INFA_CTSetPassThruPort() function, the Integration Service passes the data to the output port when it calls the input row notification function.
Consider the following rules and guidelines when you use the set pass-through port function:
Only use this function in an initialization function.
If the procedure includes this function, do not include the INFA_CTSetData(), INFA_CTSetLength, INFA_CTSetIndicator(), or INFA_CTASetData() functions to pass data to the output port.
In row-based mode, you can only include this function when the transformation scope is Row. When the transformation scope is Transaction or All Input, this function returns INFA_FAILURE.
In row-based mode, when you use this function to output multiple rows for a given input row, every output row contains the data that is passed through from the input port.
In array-based mode, you can only use this function for passive Custom transformations.
You must verify that the datatype, precision, and scale are the same for the input and output ports. The Integration Service fails the session if the datatype, precision, or scale are not the same for the input and output ports you specify in the INFA_CTSetPassThruPort() function.
Use the following syntax:
INFA_STATUS INFA_CTSetPassThruPort(INFA_CT_OUTPUTPORT_HANDLE outputport, INFA_CT_INPUTPORT_HANDLE inputport)
The return value datatype is INFA_STATUS. Use INFA_SUCCESS and INFA_FAILURE for the return value.