By default, the row strategy for a Custom transformation is pass-through when the transformation scope is Row. When the transformation scope is Transaction or All Input, the row strategy is the same value as the Treat Source Rows As session property by default.
For example, in a mapping you have an Update Strategy transformation followed by a Custom transformation with Row transformation scope. The Update Strategy transformation flags the rows for update, insert, or delete. When the Integration Service passes a row to the Custom transformation, the Custom transformation retains the flag since its row strategy is pass-through.
However, you can change the row strategy of a Custom transformation with PowerCenter. Use the INFA_CTChangeDefaultRowStrategy() function to change the default row strategy at the transformation level. For example, when you change the default row strategy of a Custom transformation to insert, the Integration Service flags all the rows that pass through this transformation for insert.
The Integration Service returns INFA_FAILURE if the session is not in data-driven mode.
Use the following syntax:
INFA_STATUS INFA_CTChangeDefaultRowStrategy(INFA_CT_TRANSFORMATION_HANDLE transformation, INFA_CT_DefaultUpdateStrategy defaultUpdateStrategy);
The following table describes the arguments for this function:
Specifies the row strategy you want the Integration Service to use for the Custom transformation.
eDUS_PASSTHROUGH. Flags the row for passthrough.
eDUS_INSERT. Flags rows for insert.
eDUS_UPDATE. Flags rows for update.
eDUS_DELETE. Flags rows for delete.
The return value datatype is INFA_STATUS. Use INFA_SUCCESS and INFA_FAILURE for the return value.