Task Loop Tab
Allows you to specify the condition for a loop.
For all loops, the number of successful iterations for the current step is stored in a specific process parameter called
${P_index}
This parameter can be used within Input / Output variables of the task.
On a while loop, output variables are calculated even if while condition is not met where as on multi-instance loop, input/output variables are not calculated for an empty array
Type loop
- While: the loop run the task while a condition is fulfilled.
- Multi-instance (For each): the loop run the task for a given list of values in an array.
Condition
In the case of a 'While' loop, this is the condition to fulfil to go through the loop. Use Freemarker syntax to write the condition.
Example:
list_spreadsheet.feed.entry[P_index].title.P_value = 'My sheet'
or
"${list_spreadsheet.feed.entry[P_index].title.P_value}" = "My sheet"
Array name
In the case of a 'Multi-instance' loop, this is the name of an array of values. Use Freemarker syntax to write the name of the array.
Example:
${list_spreadsheet.feed.entry}
Maximum
In the case of a 'While' loop, you must set a maximum number of loops to avoid eternal loops (if condition is always reached). If maximum condition is reached, process will fail. By default, the maximum number of iterations is set to 500.
If you want your process to continue, although maximum condition is reached, add a supplementary condition:
list_spreadsheet.feed.entry[P_index].title.P_value != 'My sheet' || P_index!=499
or
${list_spreadsheet.feed.entry[P_index].title.P_value} != 'My sheet' || ${P_index} !=499
or use intermediary event (error type)
MI Ordering
In the case of a 'Multi-instance' loop, you must select the MI Ordering method:
- Sequential: the loop runs all the tasks one after the other. We advise this method for connector calling or email to avoid time out issue from connector's provider.
- Parallel: the loop runs all the tasks simultaneously.
A manual task can't be used in a multi instance parallel loop : you must put your manual task in a sub process
Please give details of the problem