Advanced functoids fall into five groups, according to their use:
Managing looping records. The Index, Iteration, Looping, Nil Value, Record Count, Table Extractor, and Table Looping functoids are used in various combinations when the input instance message contains sections with an unpredictable number of repeating elements, as represented by looping records in the source schema.
Conditional mapping. The Value Mapping and Value Mapping (Flattening) functoids are used to provide conditional mapping from an input instance message to an output instance message. When their first input parameter is true, the second input parameter is put into the specified element or attribute in the output instance message; otherwise, that element or attribute is not created in the output instance message.
Arbitrary scripting. The Scripting functoid is used to run arbitrary script or compiled code when an input instance message is being mapped to an output instance message. Such script or compiled code can be created so that it accepts input parameters from the source instance message, from configured constant values, from the output of another functoid, or some combination thereof.
Simple mapping. The Mass Copy functoid can be used to copy an entire element, including its subelements to an arbitrary depth, from an input instance message to an output instance message.
Troubleshooting. The Assert functoid can be used to test your assumptions about element values.
The Advanced functoids are:
- Assert Functoid
- Index Functoid
- Iteration Functoid
- Looping Functoid
- Mass Copy Functoid
- Nil Value Functoid
- Record Count Functoid
- Scripting Functoid
- Table Looping and Table Extractor Functoids
- Value Mapping Functoid
- Value Mapping (Flattening) Functoid
More details on these functoids are in the Functoid Reference in the UI guidance and developers API namespace reference.