Problem
The menu point „Set Composite Diagram“ allows to create a clickable link to another diagram from objects. Unfortunetly to get the references in SQL (with start and end GUID) is a little bit tricky…
Approach
Open the .eap (MDB Plus) file or der SQL Server structure (MS SQL Server Studio Express) in a tool that allows you to test SQL Statements
Solution
Composite Diagrams of Activities
i.e. for the .eap-File (Access):
To get the activities Composite diagrams, you need to join the t_object.PData1 Columne with the t_diagram.Diagram_ID Column. This can be done in the following way:
SELECT compobjects.ea_guid As src_guid,
compobjects.name As src_name,
b.ea_guid As dest_guid,
b.name As dest_name
FROM
(
SELECT ea_guid,
Name,
Object_Type,
Stereotype,
PData1
FROM t_object
WHERE NType=8 AND PData1 IS NOT null AND isnumeric(PData1)) compobjects
INNER JOIN t_diagram b ON b.Diagram_ID=CInt(compobjects.PData1)
Composite Diagrams of Classes
SELECT Client As src_guid,
obj.name As src_name,
Supplier As dest_guid,
obj2.name As dest_name
FROM ( t_xref xr
LEFT JOIN t_object obj ON xr.Client=obj.ea_guid)
LEFT JOIN t_diagram obj2 ON xr.Supplier=obj2.ea_guid
WHERE Supplier<>'<none>'
All Composites by source guid
SELECT src_guid,
src_name,
dest_guid,
dest_name
FROM
(
SELECT compobjects.ea_guid As src_guid,
compobjects.name As src_name,
b.ea_guid As dest_guid,
b.name As dest_name
FROM
(
SELECT ea_guid,
Name,
Object_Type,
Stereotype,
PData1
FROM t_object
WHERE NType=8 AND PData1 IS NOT null AND isnumeric(PData1)) compobjects
INNER JOIN t_diagram b ON b.Diagram_ID=CInt(compobjects.PData1)
UNION ALL
SELECT Client As src_guid,
obj.name As src_name,
Supplier As dest_guid,
obj2.name As dest_name
FROM ( t_xref xr
LEFT JOIN t_object obj ON xr.Client=obj.ea_guid)
LEFT JOIN t_diagram obj2 ON xr.Supplier=obj2.ea_guid
WHERE Supplier<>'<none>'
)
WHERE src_guid='Put your GUID here'
