The Recursive Loop node pair enables the passing of data tables from the Recursive Loop End back to the Recursive Loop Start.
The Recursive Loop Start requires initialized tables. These tables are output by the Recursive Loop Start in the first iteration of the loop.
The tables received by the corresponding Recursive Loop End are passed back to the Recursive Loop Start node. Starting with the second iteration, the Recursive Loop Start node outputs the data as received by the Recursive Loop End.
You can add more recursion input tables and collector input and output tables using the “…” menu. The number of recursion ports must be the same as the number of recursion ports of the corresponding Recursive Loop Start node. Recursion and collector ports are independent of each other. The collection ports are always listed first.
The loop runs until one of the three stopping criteria is met:
- Maximum number of iterations: to ensure no endless loop is created, the loop will end after the set number of iterations.
- Minimal number of rows: to ensure enough rows are present for processing, the loop stops if one of it's recursion input tables contains less rows than the set minimum. This minimum can be set for each recursion input table individually.
- End loop with variable: the loop ends if the option is enabled and the value of the selected variable equals “true”.
The data passed to the collector ports is collected and passed to the n respective output ports. The data at the recursion ports (all ports after input port n) is returned to the Recursive Loop Start node.