cancel
Showing results for 
Search instead for 
Did you mean: 

BPM Call Activity: reusing process from different model

former_member217396
Participant
0 Kudos

Hi,

is there a way, to configure PD that way, I can reuse in a call activity a process defined in another model?

As for now, I'm only able to point to processes defined in the same model I'm creating the call activity in.

Or, what to use instead of call activities to be able to reuse/call a process inside another process...?

Thanks,

Rafal

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Rafal,

You can create shortcuts or replicas of the Task from another model - just not a reference inside a Call Activity which is unfortunate.

So .. as Hans says, try Shortcuts (or a Replica if you prefer). Besides the usual Replica vs. Shortcut characteristics, there is a BPMN diagramming consideration as well. If you use a Shortcut, the Task is still treated as if it is in a  different process and therefore requires a Message Flow to link - just as if it were in a different pool. Using a Replica creates an object in your model that can be linked to by a Sequence Flow.

Hope that helps.

former_member217396
Participant
0 Kudos

Once again ... I don't want to reuse a task... I want to reuse a whole process...

So let's say, I have a ProcessA with some tasks inside (Task1, Task2, Task3) and other elements like gateways etc.

Now I have a ProcessB, with a Task1, Task2 and Task3, but Task2 is actually my ProcessA...

So what I want to have is a flow: ProcessB.Task1 -> ProcessA -> ProcessB.Task3, so I want to reuse the ProcessA inside ProcessB

I hope now it's clear

former_member185199
Contributor
0 Kudos

Have you tried to REPLICATE the ProcessA?

just open both models and drag and drop the processA while pressing SHIFT+ ALT ( the mousecursor changes to a small round arrow)

Anny change in process A is AUTOMATICALLY send to the replicate but you can cahnge the name of the replicate

you can create them easy by code also

ive done it only for tables so far, but ists possible to switch of some parts of the replication if you need to modifiy for example some details.

here my example code for table you might adopt it for your needs:

        dim theTable : set theTable = FindOrCreateTableOrView (model,st, DokumentName)

        dim theAlias : set theAlias = nothing 'FindOrCreateTableOrView (model,st, DokumentAlias)

        if  not (theTable is nothing and theAlias is nothing and (DokumentName <> DokumentAlias)) then

           logmsg "In " & atm & " wird " & st.name & " als  " & objEAM.kindofST(st.name) & "ALIAS mit Namen " & DokumentAlias & " angelegt."

          FindAndDeleteReplica model, DokumentAlias

           ' 4

           dim theReplica : set theReplica = theTable.CreateReplica(model)

           ' 5

           theReplica.setnameandcode DokumentAlias, DokumentAlias

          

           thereplica.SourceReplication.SetAttributeReplicated "Generated",false,false  ' HERE I SWITCH OF TEH REPLICATION of the generation flag to modify it on my needs !!!!

           thereplica.SourceReplication.SetCollectionReplicated "Indexes",false,false

           thereplica.generated = false

           thereplica.indexes.clear

           dim extDep: Set ExtDep = model.CreateObject(cls_ExtendedDependency)

           theTable.ExtendedDependencies.Add(ExtDep)

           Set ExtDep.InfluentObject = theReplica

           BuildDiagramSymbol  model ,"Mapping",DokumentAlias, objEAM.kindofST(st.name)&"ALIAS"

        else

          logmsg "In " & atm & " konnte " & DokumentAlias & " für " & DokumentName & " nicht  angelegt werden."

       

        end if

HTH

dj

former_member217396
Participant
0 Kudos

I believe I did tested it ... but let me try once again.

I think the problem was, that I was not able to connect the ProcessA.Task1 with the replicated ProcessB using a sequence flow ...

Former Member
0 Kudos

Hi Rafal,

You were correct - you can Shortcut or replicate a Process from another model - just cannot use it when modelling afterwards because it is not a BPMN object (begs the question as to why they stick it in the model in the first place when you create a Lane!).

Anyway - for now it seems like this is a product shortcoming - hopefully they will address it in the future by opening up the Call Activity to reference other BPMN models.

I don't think you can achieve what you want out of the box. You can use some generic out-of-box capabilities to 'dress up' a generic task with stereotypes and usage of Traceability Links & Relate Diagrams to accomplish your purpose. A bit more of a pain on both the content creation and content maintenance efforts but maybe gets you most of the way there.

Other option that occurs to me is to extend the metadata for a Calling Activity to include a field that references the object you want. That way you will have the ability to filter and add whatever context that is appropriate for you.

Bruce

Former Member
0 Kudos

Hi Rafal,

Try shortcuts.

Hans

former_member217396
Participant
0 Kudos

You can't shortcut a process in a different BPM diagram ... at least I don't know how this should work?