Sparx Systems Forum

Enterprise Architect => Automation Interface, Add-Ins and Tools => Topic started by: Peter Kelley on July 29, 2013, 10:36:46 am

Title: Where are Items Conveyed Stored in the Database?
Post by: Peter Kelley on July 29, 2013, 10:36:46 am
I'm looking for information on which database table will hold the information on the items conveyed across a connector.

We are using the UPDM plugin and for various reasons we need to run our own reports using a different reporting tool (Jasper Reports). I know this is a long shot but I'm hoping that someone knows how the linkage between the connector and the items conveyed across the connector is stored in the database.
Title: Re: Where are Items Conveyed Stored in the Databas
Post by: Geert Bellekens on July 29, 2013, 04:02:18 pm
Peter,

Try searching (with the top left search button) for "conveyed". (since a week or two the search is working again)
I already found two entries that might be of interest.
http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1344953764/2#2

http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1346661183/2#2

Geert
Title: Re: Where are Items Conveyed Stored in the Databas
Post by: Ian Mitchell on July 29, 2013, 05:26:06 pm
According to Thomas' 'Inside EA' book, the conveyed items are in the t_xref table: that's where we get them from for eaDocX.
 'Inside EA' even has some sample SQL to get the data!
Title: Re: Where are Items Conveyed Stored in the Databas
Post by: qwerty on July 29, 2013, 07:20:42 pm
The SQL was originally supplied by Helmut Ortmann. It's a bit lengthy and I just copy it from section 12.4.1 of my Inside book:

Quote
SELECT DISTINCT o.ea_guid as CLASSGUID, o.Object_Type as CLASSTYPE, o.name As Item, o.Object_Type As ItemType,
o.stereotype As 'ItemStereotype', "Connector" As ConnectorType, c.Name, c.Stereotype
FROM t_object o, t_xref xCon, t_xref xFlow, t_connector c, t_connector flow
WHERE
c.connector_ID = <Search Term> AND c.ea_guid = xCon.Client AND flow.ea_guid = xFlow.client AND xCon.Behavior = 'abstraction' AND flow.ea_guid IN (
#DB=SQLSVR#s substring(x.description,0,39), substring(xCon.description,39,39), substring(xCon.description,78,39), substring(xCon.description,117,39), substring(xCon.description,156,39), substring(xCon.description,195,39), substring(xCon.description,234,39), substring(xCon.description,273,39), substring(xCon.description,312,39), substring(xCon.description,351,39)
#DB=SQLSVR#
#DB=Other#
left(xCon.description,38), mid(xCon.description,40,38), mid(xCon.description,79,38), mid(xCon.description,118,38), mid(xCon.description,157,38), mid(xCon.description,196,38), mid(xCon.description,235,38), mid(xCon.description,274,38), mid(xCon.description,313,38), mid(xCon.description,352,38)
#DB=Other#
) AND o.ea_guid IN ( #DB=SQLSVR#s
substring(x.description,0,39), substring(xCon.description,39,39), substring(xCon.description,78,39), substring(xCon.description,117,39), substring(xCon.description,156,39), substring(xCon.description,195,39), substring(xCon.description,234,39), substring(xCon.description,273,39), substring(xCon.description,312,39), substring(xCon.description,351,39)
#DB=SQLSVR#
#DB=Other#
left(xCon.description,38), mid(xCon.description,40,38), mid(xCon.description,79,38), mid(xCon.description,118,38), mid(xCon.description,157,38), mid(xCon.description,196,38), mid(xCon.description,235,38), mid(xCon.description,274,38), mid(xCon.description,313,38), mid(xCon.description,352,38)
#DB=Other# )
UNION
SELECT DISTINCT o.ea_guid , o.Object_Type ,
o.name, o.Object_Type, o.stereotype, "Information Flow", c.Name, c.Stereotype
FROM t_object o, t_xref x, t_connector c
WHERE
x.client = c.ea_guid AND x.Behavior = 'conveyed' .and c.connector_ID = <Search Term> .and o.ea_guid IN (
#DB=SQLSVR#s substring(x.description,0,39), substring(xCon.description,39,39), substring(xCon.description,78,39), substring(xCon.description,117,39), substring(xCon.description,156,39), substring(xCon.description,195,39), substring(xCon.description,234,39), substring(xCon.description,273,39),
substring(xCon.description,312,39),
substring(xCon.description,351,39) #DB=SQLSVR#
#DB=Other#
left(xCon.description,38), mid(xCon.description,40,38), mid(xCon.description,79,38), mid(xCon.description,118,38), mid(xCon.description,157,38), mid(xCon.description,196,38), mid(xCon.description,235,38), mid(xCon.description,274,38), mid(xCon.description,313,38), mid(xCon.description,352,38)
#DB=Other# )
order by 3,4,5

q.
Title: Re: Where are Items Conveyed Stored in the Databas
Post by: minna on April 17, 2015, 12:12:03 am
After struggling for a while, here is my simple answer to the problem  :) :
(this is for sql server)

Search for all the entries is t_xref where the behaviour is conveyed
Select Client, Description From t_xref Where Behavior = 'conveyed'

The Client uid is the ea_guid for the connector:
Select * From t_connector Where ea_guid = '<connector (Client) id here>'

The Description gives all the ea_guids of the items conveyed in the connector: (assuming it is an object like Information Item)
Select * From t_object Where ea_guid = '<conveyed item (Description) id here>'

Note: There can be several conveyed item ids in the Description. The above query only allows 1 to be entered.

So no long queries, but you have to do them one by one. At least now you now know the connection between the tables to get to conveyed items  ;D