Map behavior during execution
The execution characteristics of a map are determined by the execution parameters that are configured at design time. However, these map execution characteristics or map settings can also be overridden at run time.
The behavior of a single map invocation is as follows:
- The adapters that are configured for their respective input cards retrieve some
of the input data.
The input data is validated against the schema definition of the respective input card(s). This ensures that only valid data is passed to the output building process. It is for this reason that any piece of any of the input data can be used to build any of the output data. All of the input data is validated and stored in the map's workspace before any output data is built. Because the entire workspace is available to the map at the time it has to build the output, any portion of the input data can be used, counted, or manipulated to generate any part of the output data.
- After the input data has been validated, output objects can be used as inputs for a subsequent output.
You can create temporary outputs to signify map logic in certain situations. The Sink adapter can be employed to ensure that the data is not retained.
By default, the rollback behavior applies to the entire map thread level. Therefore, nothing will be committed to output nor deleted from input until all inputs have been successfully validated and all outputs have been successfully written. Many commit and rollback options are available within the configuration settings of each input and output card. By manipulating these settings, you can significantly change the default commit and rollback behavior of a map.