Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: Jüri on January 26, 2015, 08:31:42 pm

Title: BPMN: PartnerEntity and Pool traceability
Post by: Jüri on January 26, 2015, 08:31:42 pm
Hi!

How can I find all Pools (and collaboration models) where defined PartnerEntity is used?

I have defined common PartnerEntity elements to be used. Modelers are using Pools and define partnerEntity (Under BPMN 2.0 tagged values partnerEntity) from common list.

Now, how can I find out, where my common PartnerEntity elements are used (which Pools reference to them)? such references are not presented under traceability view. The aim is to present, in which processes partners are used and ho we collaborate with them.

Thank you!
Title: Re: BPMN: PartnerEntity and Pool traceability
Post by: qwerty on January 26, 2015, 08:37:04 pm
Try Ctrl-U. That will find the usage of elements in all diagrams.

q.
Title: Re: BPMN: PartnerEntity and Pool traceability
Post by: Jüri on January 26, 2015, 08:43:09 pm
thanks but this doesn't help.

The issue is that PartnerEntity is used on Partners diagram.
Pools, that reference (using tagged value partnerEntity) to PertnerEntity element, are used on collaboration diagram and Pools are different elements that PartnerEntity. so, no use in this case.

Also, As I would like to generate output that points out the usage, then Find in all diagrams does not help:( furthermore, the relation could exists in model without diagram as well.
Title: Re: BPMN: PartnerEntity and Pool traceability
Post by: qwerty on January 27, 2015, 01:30:04 am
I could try to figure out the right SQL but I don't know how to create a partnerEntity.

q.
Title: Re: BPMN: PartnerEntity and Pool traceability
Post by: smendonc on January 27, 2015, 04:41:43 am
The following appears to work on SQL Server.  I'm assuming it will be similar for other SQL back-ends but probably not for the .eap file.

select  o1.Name as 'PoolName'
       ,o2.Name as 'PartnerEntity'
         ,d.Name as 'Diagram'
         ,p.Name as 'DiagramPackage'
  from t_object o1
       inner join t_objectproperties tv on (o1.Object_ID = tv.Object_ID and o1.Stereotype = 'Pool' and tv.Property = 'partnerEntity')
         inner join t_object o2 on (o2.ea_guid = tv.Value)
         left join t_diagramobjects do on (do.Object_ID = o1.Object_ID)
         left join t_diagram d on (do.Diagram_ID = d.Diagram_ID)
         left join t_package p on (d.Package_ID = p.Package_ID)
Title: Re: BPMN: PartnerEntity and Pool traceability
Post by: Jüri on February 16, 2015, 11:26:43 pm
Thanks! yes, SQL is the only way at the moment in order to get the traceability output I need.

Latest webinar had SQL in QA section as well. It needed to be modified a bit as one could use same Pool for different partnerEntities (many partners, doing the same thing in general).

Here it is  (add partnerEntity GUID as a Search term and get list of processes that partnerEntity participates):

SELECT process.ea_guid AS CLASSGUID, process.Object_Type AS CLASSTYPE, process.Name AS Process_Name

FROM t_object AS pool, t_object AS process, t_objectproperties AS process_ref, t_objectproperties AS partner_ref
WHERE process.Stereotype = 'BusinessProcess'
AND pool.Object_ID = partner_ref.Object_ID
AND partner_ref.Property in ('partnerRole', 'partnerEntity')
AND partner_ref.[Value] like '%<Search Term>%'
AND pool.Object_ID = process_ref.Object_ID
AND process_ref.Property = 'processRef'
AND process_ref.[Value] = process.ea_guid
Title: Re: BPMN: PartnerEntity and Pool traceability
Post by: Geert Bellekens on February 16, 2015, 11:50:46 pm
Jüri,

Try the EA-Navigator (http://bellekens.com/ea-navigator/). It lists the links from tagged values in both directions.
So from your partnerEntity element to all pools and from the pool to the partnerentity.

Geert