Out Parameters not working with Multi-Instance (Seq.) Call Activity


When out parameters are given in a call activity w/o multi-instance the variables are copied from called process to calling process.

But when multi-instance is selected for a call activity the variables are not copied.

Flowable Version - 6.4.1

Thanks and Regards.

It’s interesting that it ignores the output, though I’m kind of curious what the expected behavior should be. Should it keep overwriting the output variables until it’s done? Should it wrap all of the outputs into another collection?

In case of a user task with multi-instance it keeps on overriding the variables.

What I want to achieve from this multi-instance call activity is that when a called process returns a variable, say terminate as true then the calling process doesn’t run remaining instances and the call activity gets completed.

I was planning to do this by Completion Condition as ${skip}. But the problem is i m unable to send that skip variable to the calling process.

That sounds to me like the best approach (which would be a new feature) - some sorts of aggregator that consolidates all of the data. Right now you’d have to (e.g. with an execution listener just before the end of the child process) copy the variables to a collection (e.g. a json array) on the parent execution to get something similar.

Can I ask what is the status of the feature? Is there any other solutions of this problem?

It’s being worked on, see this branch: https://github.com/flowable/flowable-engine/tree/variable-aggregation

As it’s a quite complex feature, it still needs more testing and polishing before it’ll end up on master.