Using Transaction Control transformations in mappings
Using Transaction Control transformations in mappings
Transaction Control transformations are transaction generators. They define and redefine transaction boundaries in a mapping. They drop any incoming transaction boundaries from an upstream active source or transaction generator, and they generate new transaction boundaries downstream.
Transaction Control transformations can be effective or ineffective for the downstream transformations and targets in the mapping. The Transaction Control transformation becomes ineffective for downstream transformations or targets if you put a transformation that drops incoming transaction boundaries after it. This includes any of the following active sources or transformations:
Aggregator transformation with the All Input level transformation scope
Java transformation with the All Input level transformation scope
Joiner transformation with the All Input level transformation scope
Rank transformation with the All Input level transformation scope
Sorter transformation with the All Input level transformation scope
SQL transformation that uses a saved or user-entered query and has the All Input level transformation scope
Transaction Control transformation
Any multiple input group transformation that is connected to multiple upstream transaction control points
Although a Transaction Control transformation may be ineffective for a target, it can be effective for downstream transformations. Downstream transformations with the Transaction level transformation scope can use the transaction boundaries defined by an upstream Transaction Control transformation.
The following image shows a valid mapping with a Transaction Control transformation that is effective for a Sorter transformation, but ineffective for the target:
In this example, TransactionControl_1 is ineffective for the target, but effective for the Sorter transformation. The transformation scope for the Sorter transformation is Transaction. It uses the transaction boundaries defined by TransactionControl_1. The transformation scope for the Aggregator transformation is All Input. It drops transaction boundaries defined by TransactionControl_1. Transaction control transformation TransactionControl_2 is an effective Transaction Control transformation for the target.