How to progress Parent Process Model if Child Process is SUSPENDED

Hi Experts,

There is one process model which is invoking multiple instances of same child process dynamically.
(Attach is the snippet of the sample model for better understanding)

Now what I need to know is , is it possible for Parent Process Model to get completed if some instances of child process model gets Failed/Suspend or Stopped?

If yes please suggest the way.

PS : while invoking DRP , WaitForSubProcess is set as true because we need call activity step to wait till it gets all response back to Parent Process.


Hi Ajitesh,

as long as the child process is suspended, the parent process should not continue, but wait for the child process.

As soon as the child process completes, fails or gets stopped the parent process should continue based on the outcome of the child process.

I am not sure what you mean with “multiple instances of same child process”.
The pictures do not point that out.

Regards,
Holger

If my understanding correct, DRP something designed to multiple instances. When it comes to problem statement, you can do two things,

  1. crate a process error step in child process and point that to terminate/end step with “escalate parent error” option, and have a error boundary event on patent step which transition to parent end step.

HTH
Raj

Hi,

there has been a similar discussion 5 years ago, but this still seems to have no answer:

Regards,
Holger

Hi Holger,

DRP are invoked using SubprocessModels referenced document, if the value in field WaitForSubprocess is set as “true”, parent process remain in waiting state, if any of the child process models gets SUSPEND.

If all the Child Process model are getting COMPLETE then Parent process model is getting complete, but if any of the Child process model which is invoked as DRP from Parent Process with value WaitForSubprocess as “true” gets either Fail or Stopped, call activity step of the Parent Model is getting failed as well, not allowing Parent model to execute further.

By mulitple instance I meat , when parent process models call activity step gets invoked , it will invoke multiple Child process instances dynamically. Attach is the image from MWS process instance for better clarity

This again bring me back to my question , how to make Parent Process continue its processing if some of the dynamically invoked child process gets either Suspend/Fail or Stopped

Hi Raj,

Have tried as you suggested, but there is a issue in it, lets say there are two instances of same child got invoked out of which one got Failed and other as completed. Then if I am putting approach as suggested by you, parent process call activity step is ignoring even the output of the child instance which got completed with success.

Regards,
Ajitesh

I’m confused, what you expected to happened for described scenario by you??

Parent process will have certain steps after DRP call which will be related to the outputs came from child processes.
So in this case Child responses are getting ignored, if we put error boundary event (it will only take error output into consideration).

What I need is , after call activity Parent process should get output of both, ie all child process outputs which got Completed along with those which got FAILED

Hi Ajitesh,

what about having a global error handling step in the parent process catching up the failed call activity step and then rejoining the normal processeing behind the call activity step?

Regards,
Holger

Hi Holgan,

Same thing is happening , Call Activity step is ignoring the success response from child process model, though I am able to capture the Error response.

If you see in the attach snippet , Global error step is getting error response but call activity step is ignoring all the success reponse, so even if I try to rejoin the parent process with error response , I won’t be having success reply from child process in pipleline.

Regards,
Ajitesh


Hi Holgar/Raj,

Have achieved the required task, by putting exclusive gateway before sent task step of Child process model.

Now Parent process is able to get all the outputs from the child instance.

Regards,
Ajitesh