Suchen und Finden 3: Finden von verwaisten Elementen (Find Orphans)

Der EA stellt eine Standardsuche zur Verfügung um verwaiste Elemente zu finden:

Build In Search um verwaiste Elemente zu finden

Diese Suche findet alle Elemente, die Im Modell (Project Browser) vorhanden sind, aber in keinem Diagramm verwendet (referenziert) werden!
Ist das Element durch Links mit anderen Elementen verbunden,
ist das Element der Typ eines Attributes, Parameters oder ein Return-Typ einer Operation,
ist das Element der Typ einer Instanz, eines Ports, etc., wird es ebenfalls als “orphan” (verwaist) ausgegeben.

Will man nun wirklich nur jene Elemente, die vollkommen verwaist sind, ist dies mit dem Query-Builder nicht möglich.
Eine SQL-Suche bringt Abhilfe.

Die Suche für oben angeführtes Problem sieht folgendermaßen aus:

Durch mehr Einschränkungen kann diese Abfrage performanter gestaltet werden

Die oben dargestellte Such wurde erweitert und sucht nun auch ob ein Element mit einer Operation, Informationsfluss, Trigger, etc verlinkt ist. Durch eine stärkere Einschränkung in den Sub-Selects wir auch die Performanz verbessert.

Find Orphans in Enterprise Architect (Extended)

Die Suche kann hier als .txt heruntergeladen werden.

Die Tabellen t_attribute, t_operationt_operationparams speichern das Attribut Classifier als Text und nicht als Zahl, daher muss die Classifier ID, z.B. “12″ .

CInt ( t_attribute.Classifier) … konvertiert einen String in einen Integer!
CInt ( “0″ & t_attribute.Classifier) … stellt sicher, dass eine Zahl und nicht NULL konvertiert wird! Wenn in der Tabelle t_attribute.Classifier kein Wert eingetragen ist, wird NULL zurück geliefert. Dies führt zu einem Fehler!

Durch Hinzufügen folgender Zeile kann die Suche auf bestimmte Elementtypen eingeschränkt werden:

AND t_object.Object_Type LIKE “*” & ‘<SearchTerm>’ & “*”

 

Tagged : , , , , ,

3 Responses to “Suchen und Finden 3: Finden von verwaisten Elementen (Find Orphans)”

  1. Rainer Queck Says:
    März 26, 2011 at 12:59 pm

    Wenn ich diese SQL-Query ausführen möchte, erhalte ich die Fehlermeldung:

    DAO.QueryDef[3141]
    The SELECT statemet includes a reserved word or an argument name that is
    misspelled or missing, or th punctuation is incorrect.

    (Ausgeführt in EA 9.0 Beta)

  2. aStreitberger Says:
    Mai 31, 2011 at 1:50 pm

    Wenn dieser Fehler auftritt haben sie die falschen Anführungszeichen im SQL-Statement verwendet. Passiert beim kopieren des SQL-Statements aus dem Artikel (hier sind das typografische Anführungszeichen)

  3. Die SQL Suche wurde überarbeitet und kann als .txt heruntergeladen werden.

Leave a Reply