Feld / Ordner identifizieren aus ID

  • Ich soll eine Auswertung in einem SQL-Ordner erweitern.

    Soweit ich sehe wurde diese von meinem Vorgänger erstellt und nicht wirklich dokumentiert.

    Code
    (aktiv=1 and (bold_id in (SELECT usereintrag FROM zusatzfeld WHERE metazusatzfeld = 1124049 AND WertBoolean = 0))) ....

    Wie kann ich am einfachsten herausfinden was mit der ID = 1124049 gemeint ist?

    Gibt es dazu im Vertec eine Hilfestellung um solche Statements wieder zu entschlüsseln?

    Und gleich noch eine kleine Frage dazu. Sind Kommentare in den SQL und OCL Anfragen möglich?

    Dann könntem man gleich dazu schreiben was mit der ID denn genau referenziert wird.

    Danke & Gruss Stefan

  • Mit der ID wird hier ein Zusatzfeld abgefragt. Das geschieht über die ID und nicht über den Namen, weil dieser ändern kann und dann die Abfrage nicht mehr funktionieren würde.

    Das genaue Vorgehen ist in der Knowledge Base unter https://www.vertec.com/kb/sqlexpressions/#zusatzfelder genau erklärt. Dort finden Sie auch eine Anleitung, wie und wo Sie die ID einsehen können.

    Die entsprechende OCL-Expression dafür lautet übrigens objid - falls Sie diese in der Liste anzeigen möchten, um sie schneller zu finden.

    Wenn Sie nur die ID haben, aber gar nicht wissen, um welches Objekt es sich in Vertec handelt, können Sie dieses in der Python Konsole mit vtcapp.getobjectbyid aufrufen und dann prüfen, um welches Objekt es sich handelt. Beispiel:

    Code
    obj = vtcapp.getobjectbyid(11883)
    print obj.evalocl("oclType.asstring"), obj

    Kommentare direkt in den Abfragen sind nicht möglich. Es gibt jedoch auf jedem Objekt in Vertec ein Bemerkungsfeld, wo diese Angaben eingegeben werden können.

  • In der SQL-Abfrage von SQL-Ordnern können Sie wie folgt kommentieren (Beispiel):

    Also einen doppelten Bindestrich am Anfang der Zeile setzen.

    Dies funktioniert sowohl mit Firebird, als auch mit SQL-Server.