The Optim solutions offer several ways to specify a column value in a column map. One way is to specify an exit routine as the source; the exit sets values that could not otherwise be defined for destination columns. Another way is to use exit routines to exclude rows from processing.
For details on defining column maps, refer to Creating a Column Map. You can use three types of exit routines when you create a process request to convert, create, insert, load, or restore data.
A standard exit routine is called to derive the value for a destination column in a column map. This type of exit routine is useful when you want to perform data transformations that are beyond the scope of functions in a column map. For example, an exit can change an employee department number for selected rows according to a complex algorithm, or select specific rows to be processed and discard all others.
A standard exit can get a substring segment of a source LOB column. To insert a new LOB value in a destination LOB column, an exit can create a file and pass the file name back to the column map processor.
A source format exit is called to format the source column that would otherwise not be supported in a column map age function. This exit routine examines the source date in a character or integer column and converts it into a date format usable as input to the age function.
A destination format exit is called to format a destination column that would otherwise not be supported in a column map age function. This exit routine converts a date into one of four different destination formats. The data type of the destination column determines the format.
To use an exit routine in a column map, you must specify one of the following in the appropriate source column:
The process calls the column map exit routine, once for each data row processed and passes a termination call after the last row is processed. Optional parameters specified with a standard exit routine are passed to the exit, and must be string (enclosed in single quotes) or numeric literals (limit 8).