Data Transformation Engine Map Designer Reference Guide

Map Designer Reference Guide
135
Chapter 8 - Functional Map Basics
This chapter explains the basics of creating and using functional maps. For
information on using the Functional Map Wizard to automatically create a
functional map, see Chapter 9 - Functional Map Wizard.
A functional map and the executable map that calls it must be in the same map
source file (.mms).
Functional Maps
A functional map is like a sub-routine; it maps a portion of data at a time. A
functional is a map that is used like a function. It takes one or more input objects
and generates one output object. For example, you might have a functional map
that maps one Message to one row in a database table. Or you might have a
functional map that maps one Header and one Detail to one ItemRecord.
Note The results of the functional map are sent directly to the output card. They are not
passed back to the calling rule.
The use of functional maps is very common. Almost every executable map created
will use at least one functional map.
To map a group in the input to a different group in the output, use a functional
map.
For example, use a functional map to map an input row to an output row when the
rows are defined differently. Or, use a functional map to map from a file
containing many input rows, to generate a file of many output rows with one
output row per input row. The first output row would correspond to the first input
row, the second output row corresponds to the second input row, and so on.
A map defines how to generate the output data. One important factor to consider
in determining when to use a functional map is the presence of an output
component with a range of more than one. For example, ranges of
(s) or
(1:10). The number of this output object to be created is based on the number of
some input object.
Another important factor in determining when to use a functional map is when you
want to transform the data - mapping from one or more types to a different type.
In the preceding example of the functional map that maps one Message to one
row in a database table, the input row and the output row are two different types.