camundacamunda-modeler

Camunda, how to inject subprocess with specific parameters from main process


I have a Camunda flow with a Call Activity (sequential), the call Activity calls several subflows based on a list of process keys (ids) in a certain order.

For instance I get a list of ["flow-1", "flow-2"], then flow-1.bpmn and flow-2.bpmn are executed.

But, also in the scope is flow specific data, added to the scope in "Read LOT Configuration". For instance [{"name", "flow-1", "identifier" : "some-data"}, {name: "flow-2", "identifier" : "some other data"}].

I would like the call activity to determine that for flow-1, I need to send the flow-1 related object along. I do not want to send the entire collection, but only the flow specific data.

How can I achieve this?

enter image description here


Solution

  • Some ideas:

    a) use the element variable from the call activity settings as key to extract the correct data element in a data mapping

    b) surround the call activity with a multi-instance embedded sub process. In this scope you will have the element variable (processId), which can then be used to perform delegate variable mapping (https://docs.camunda.org/manual/7.16/reference/bpmn20/subprocesses/call-activity/#delegation-of-variable-mapping)

    c) pass the processID as data and fetch the configuration for the particular process inside its sub process implementation only