Mapping routines in nonterminal flows

In a nonterminal flow you can use mapping routines to manage data and to handle input and output parameters when the nonterminal flow needs to invoke a nonterminal application, an outbound web service, or an invoked flow.

Recall that a nonterminal flow is a flow that does not interact directly with a terminal application. It can invoke a nonterminal application, a terminal flow, or an outbound web service (see Nonterminal flow).

In nonterminal flows a mapping routine can be associated with any of the following items:
  • An Assign node
  • An input terminal or an output terminal of:
    • An Invoke nonterminal node; or
    • An Invoke outbound web service node.
You can access these mapping routines in two ways:
Note: A nonterminal flow can access the mapping routines in its primary mapping file and also can access mapping routines in other mapping files (see Mapping files).
You can use mapping routines in a nonterminal flow for the following purposes:
  • To transfer and manipulate data during the processing of a flow. This activity can include:
    • Retrieving the input parameters for the flow or setting the output parameters for the flow.
    • Transferring data from one variable to another.
    • Performing arithmetic, logical, and string operations on data and storing the result into a variable.

  • To set up the input parameters and retrieve the output parameters around the invocation of a nonterminal application, an outbound web service, or an invoked flow.

    Of course this sort of activity is really just another instance of the "transferring and manipulating" of data described in the previous bullet. But this activity is listed separately here because while a nonterminal flow can invoke another entity, a nonterminal flow cannot.

Usually you create a mapping routine in a nonterminal flow from the flow editor, by selecting a menu item indicating that you want to work on a mapping for an Assign node or for the input terminal or an output terminal of an Invoke nonterminal node or an Invoke outbound web service node (see Artifacts from which mapping routines can be referenced).

Then the flow editor invokes the mapping editor to open the mapping routine for the entity (the Assign node or the input terminal or the output terminal). The mapping editor opens the mapping routine and displays its contents, or creates a new, empty mapping routine for the entity if one does not already exist.

Then you can use the features of the mapping editor to create or modify mappings for the mapping routine (see Working with mappings and transforms in the mapping editor).