Escalation boundary event and variables scope


#1

Hi,

I have the following model:

The subprocess “Process WSA” is a multi-instance which has a “PartId” variable (defined as Element Variable). When the escalation happens, the process goes to the “Recheck Part 2” but the “PartId” is not available there. Shouldn’t it be?

In the documentation for escalation events it says: “When the boundary event is triggered by an escalation event from a call activity, then the defined output variables of the call activity are passed to the scope of the boundary event”

Thanks!


#2

In the case above you’re not using a Call Activity - you’re actually using an embedded sub-process.

For the functionality you’re looking to achieve i suggest that instead of using a boundary event - you could use an event subprocess as part of your embedded subprocess. That would give you access to the variable scope of each instance of the subprocess.

https://cawemo.com/shares/e65fb5d4-5f18-4134-88eb-2473dba451ae


#3

Thanks @Niall,

but this is not what I really want. In your proposal the “Recheck Part” will be triggered but the current instance of the main subprocess will still be active and cannot move to the next instance of “Check Part”.

What I want is that the “Recheck Part” can be handled independently while the “Check Part” can continue with the next instances of the multi-instance loop. So the “Recheck part” doesn’t really work as non-interrupting of the main task “Check part”.

I even tried my initial model with Call Activity but still I cannot get the variables out of it.


#4

Well, I realized that the variables from the multi-instance Call Activity are visible in the parent process only after the instance of the Call Activity has finished. So, if there’s still a token in the current instance of the Call Activity, then the escalation event will not “transfer” any variables to the parent process. So in my case the independent-“non-interrupting” functionality doesn’t work.
Any ideas for a work around?