Difference between "In Mappings" and "In mapping propogation" in Camunda7"

I am trying to use “Call Activity” and am trying to pass the variables from the calling process to the Called Process. I initially assumed that just by enabling “In mapping propagation”, I can pass all the relevant process variables to the called process. It didn’t work though.
I was only able to make it happen when I used “In Mappings” where I mapped the Source and Target variables.

So what is the real relevance of having “In mapping propagation” ?
If there are a lot of process variables that I need to pass to the called process, then should I add each of them manually.?

Hello @Saju_John_Sebastian1 ,

the In mapping propagation exists exactly for this:

This will result in a XML structure like this:

    <bpmn:callActivity id="Activity_1in8l1w">
        <camunda:in variables="all" />

This is also explained here:

If this does not work properly, could you please file a bug report (after creating a reproducable example in a unit test)?


Hi @jonathan.lukas .
Could you elaborate a bit more on this. When I say
<camunda:in variables=“all” />,
it should propagate all the variables (process variables as well) from the “Calling Process” and pass them to the “Called Process”. If this is true, presently this doesn’t seem to work for me.

Also what is the purpose of “In Mappings”. If I have the “In Mapping propagation” already enabled, then on what use case should I be using “In Mappings”. Any sort of example could help in understanding this better.

Could you share some insights on this.

Hello @Saju_John_Sebastian1 ,

if variable in mapping does not work in your use case, could you please create a reproducable example on this? Then, we can investigate what is wrong.

These 2 can be combined to enable all possibilities. Maybe your called process requires all (or most) variables plus something calculated. In this case, you can combine these kinds of mapping.