An Iterative Macro will run through every record and then loop the records back through the workflow, repeating the entire process as many times as is specified, or until a condition is met.
Iterative macro properties will only display on the Test tab in the Interface designer. The contents of the Test tab cannot be edited from the Interface Designer.
Design Iterative Macro
- Start with a completed workflow.
- From Workflow Properties, select Iterative Macro from the Workflow Type dropdown list. After you save the workflow as an iterative macro, each tool in the workflow gets a lightning-bolt anchor. Only Interface tools connect to these anchors. This anchor indicates that interface elements and actions are updating a workflow tool.
- Configure the Iterative Macro Properties, found in the Interface Designer window (Ctrl+Alt+D) or accessed from the View menu. Select the wrench icon to view the properties.
- Iteration Input: From the dropdown, select the Input Data tool in the workflow that contains the records to use for the iterative process.
- Iteration Output: From the dropdown, select the Output Data tool in the workflow that contains the records that will loop back through the iterative process.
- Maximum Number of Iterations: All processes must end at some point; otherwise, they could loop indefinitely. Specify the number of iterations here.
- When Maximum Number of Iterations is Hit: Choose the preferred behavior. These are your choices
- Error: Workflow will error and stop processing.
- Warn: Issue a warning message and output any leftover records.
- Output left over records: Output all records.
- Output Mode: Records are unioned on output, choose the preferred behavior for outputting these records as some may have a different table schema. These are your choices:
- All iterations will have the same output schema (error if different): If the schema is the same other than field names, it will warn the user but continue to output. It is only an error if the field types or sizes change—or the number of fields.
- Auto Configure by Name (Wait until all iterations run)
- Auto Configure by Position (Wait until all iterations run)