cancel
Showing results for 
Search instead for 
Did you mean: 

Can We call one bpmn file to another and containers from one file to another?

megha_jain2
Champ in-the-making
Champ in-the-making

Hi,

I have 2 different bpmn files. If I want to continue with 2nd bpmn file after the process of 1st bpmn file will finish, how can I achieve this?

Also, If I am defining one sub-process (or any container) in one bpmn file, then, is it possible to call that sub-process (or any container), in other bpmn file to get the re-usability through "Call Activity" task or any other means in activity? If Yes, Kindly let me know the procedure. It will be really helpful!

Thanks & Regards,

Megha Jain

6 REPLIES 6

gdharley
Elite Collaborator
Elite Collaborator

Starting one BPMN process on completion of another is relatively simple.
Just have the first process throw a signal prior to completion and have the second process include a signal start event.

Which is caught by:

Now, I'm  not sure I understand your second question, any process that is marked as executable and has a "none" start event can be called as a Called Activity (for reusable purposes).
Perhaps I am missing the specifics, If so, can you provide more detail.

Thanks,
Greg

megha_jain2
Champ in-the-making
Champ in-the-making

Hi Greg,

For my second question, I would like to tell you that I created few sub-Process (Container) events and I want to call them using Call Activity task, so is it possible to that? If yes then how? Also can we call a sub-process from one bpmn file to another bpmn file, if yes then how?

Since I am very new to activity so I am not sure about this.

Also, for the first answer, can we start the process with a Signal start event in next bpmn file?

Thanks & Regards,

Megha

Hi Jain,

Based on your questions, I think it is important to differentiate Embedded Sub Processes, Event Sub Processes and Called Activities.

Embedded and Event sub processes are contained in the parent process BPMN file and these can only be called from the embedding (parent) process.

If you want to create a "reusable" process element, you must create it as a separate BPMN file (separate process) and access it as a Called Activity (I like to think of them as Called Sub Processes). 
There is no restriction on deploying the processes and called processes in the same package (app in enterprise or bar in community) as once a process model is deployed to runtime, the repository is effectively wide open (meaning any process can call any other process). In enterprise edition, there are some tenant restrictions, but to be honest, they are pretty loose and easy to get around.

Hope this clears things up.

Greg

megha_jain2
Champ in-the-making
Champ in-the-making

Hi Greg,

I am still not clear with this.

According to your answer, It is not possible to call one sub-process from one bpmn file to another, rather we need to call the whole bpmn process. Is it what, you said? Is my understanding correct?

Also, Kindly let me know how do we configure “Call Activity” task?

Thanks,

Megha Jain

Hello Jain,

You cannot call an embedded sub process from outside the parent process.
There are also limits to the structure of processes that may be called as Called Activities.
These are very well documented here: Activiti User Guide - SubProcesses 

To call a Called Activity, simply provide the Process Identifier of the process to be called in the Called Element property of the Call Activity symbol as shown below (the Process Identifier for the process being called is "evaluateOtherOptions".



The above example comes from BP3's Basic Activiti training, I strongly recommend you consider taking training before trying to implement a solution.

Greg

megha_jain2
Champ in-the-making
Champ in-the-making

Thanks Greg!