Subprocess Variable Propagation on Timer Boundary Event Termination

Hey everyone,

is it possible to propagate process variables of a subprocess to the caller process, if the called subprocess instance has been terminated by an attached timer boundary event? If so, how?

For example, in the following process model, let’s say that a service task within the called subprocess writes a variable named token.

image

If the called subprocess instance gets terminated by the timer boundary event and the token variable is present within the scope of the subprocess, how do I make it available in the scope of the caller process after the timer boundary event has fired, for example so that it can be accessed by a subsequent service task?

For both the subprocess call activity and the timer boundary event, I have tried the following output mappings:

  • Process Variable Name token
  • Variable Assignment Value: = token

When the subprocess instance completes normally, the variable is propagated as expected.

However, if the subprocess instance has been terminated by the attached timer boundary event, Simple Monitor reports the following incident on the timer boundary event:

  • Error Type: IO_MAPPING_ERROR
  • Error Message: failed to evaluate expression '{token: token}': no variable found for name 'token'

I’m using Camunda Modeler version 4.11.1, and Zeebe 1.1.0 with Simple Monitor 2.0.0 from the zeebe-docker-compose repository.

Any help would be greatly appreciated! :slight_smile: