...
The following example of an initial process, in which a jump back after subprocess 3 before subprocess 2 is required, serves as an example.-
...
However, this cannot be modelled directly, since sub-process 3 is located within a gateway. If the existing rejection (after sub-process 4 before sub-process 3) is to continue to exist despite this adjustment request, the only remaining option is to model the rejection outside the gateway and ensure that sub-process 4 is no longer run through when the conditions for the rejection after sub-process 3 are fulfilled.
This then results in the following logic.
...
In the first step, a new gateway must therefore be created before sub-process 2. Then the following objects (sub-process 2 and the existing gateway) must be moved into the new gateway, so that the new gateway end is moved to the very end, as already described in Setting Up Rejections.
-
...
So it is now basically possible to jump back to sub-process 2 after sub-process 3, but sub-process 4 would currently be started after the end of sub-process 3. To prevent this from happening, the start of subprocess 4 must be linked to conditions with the help of another gateway.
-
...
For this rejection to work, it must be ensured that all 3 gateways involved have the correct conditions:
...
By this logic, the conditions can be changed later on without any problems at one place, because the other conditions refer exclusively to the process route and thus remain independent of the implemented rejection conditions.
Rejection within 2 gateways
If a jump back to another gateway is to be made within a gateway, the principle is basically the same, but it must then not only be ensured that sub-processes are not processed after the jump back, but also that sub-processes are not run through again before the destination of the jump back.
The following outbound process serves as an example, where a jump back after sub-process 3 before sub-process 2 is required.-
...
Starting from the first example, this can only be achieved as follows:-
...
The principle is basically the same and here too, the actual condition for rejection after sub-process 3 before sub-process 2 should be defined once in the gateway immediately following and then only the process route should be evaluated. The result is then as follows:-
...
The special feature of this process flow is that in this case the process route is evaluated by the gateway Rejection 2 for gateway Rejection 1, and this gateway was not even activated the very first time it was run.
...