Recursive Loop End

This Node Is Deprecated — This version of the node has been replaced with a new and improved version. The old version is kept for backwards-compatibility, but for all new workflows we suggest to use the version linked below.
Go to Suggested ReplacementRecursive Loop End

The Recursive Loop node pair enables the passing of a data table from the Recursive Loop End back to the Recursive Loop Start.

The Loop Start requires an initialized table. This table is output by the Recursive Loop Start in the first iteration of the loop.

The table received by the corresponding Recursive Loop End is 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.

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 it's input contains less rows than the set minimum.
  • 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 port 0 is collected and passed to the output port. The data in port 1 is returned to the Recursive Loop Start node.

Options

Maximal number of iterations
The maximum number of iterations the loop will run.
Minimal number of rows
The minimal number of rows required to continue iterating.
End Loop with Variable
Whether the node execution is controlled by a variable, when enabled allows choosing the Flow Variable that ends the loop if it's value equals "true".
Collect data from last iteration only
If this option is checked only the last input to the collecting data port is passed through to the outport. Hence, the data of earlier iterations is discarded.
Add iteration column
Allows you to add a column containing the iteration number to the output table.
Propagate modified loop variables
If checked, variables whose values are modified within the loop are exported by this node. These variables must be declared outside the loop, i.e. injected into the loop from a side-branch or be available upstream of the corresponding loop start node. For the latter, any modification of a variable is passed back to the start node in subsequent iterations (e.g. moving sum calculation). Note that variables defined by the loop start node itself are excluded as these usually represent loop controls (e.g. "currentIteration").

Input Ports

Icon
Data to be collected for the output.
Icon
Data to be passed back to loop start.

Output Ports

Icon
The rows collected from the first in port.

Popular Successors

Views

This node has no views

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.