About Transition Looping
Transition looping is also known as sequence flow looping in BPMN. Unlike standard looping, which enables you to loop through a single subprocess or call activity step for a specified number of iterations, a transition loop enables you to loop back to any previous step in the process from any other step in the process. You can, of course, also loop back to the input of the originating step, but for this case, a standard loop is recommended.
For transition looping, the loop conditions are defined in the step’s output transition by selecting the transition and then, on the
Condition page in the Properties view for the transition. For more information, see
Configuring Transition Behavior.
You can define a transition loop condition with either of the following transition types:
Use an
If Condition transition to implement a transition loop that will continue to loop back to an earlier point in the process as long as the condition expression evaluates to true. In this case, you could create a pipeline field that you increment by 1 each time the loop is taken. You could then define your If Condition to stop looping when the desired number of iterations is reached, at which time a Default transition is taken.
Use a
Step Iterations Exceeded transition to implement a transition loop that will continue to loop back to an earlier point in the process until the maximum iteration value is exceeded. In this case, when the step count exceeds the defined value, another transition can be taken. If you attempt to implement this method, be sure to examine your process logic to ensure that the step count will actually increment as required. For example, if the step is within a standard looping subprocess, the step count is reset to 1 for each loop iteration of the subprocess.
Either way, the key point is that this looping mechanism can loop through a flow of multiple steps, depending on where you place the transition destination.
Related Topics