Auslesen der Gesamtknotenanzahl aus der CDBase

Hallo allerseits,
ich habe folgendes (kleines) Problem mit der Eingabesyntax in Teddy. Und zwar möchte ich eine Schleife über die Gesamtanzahl aller im Modell vorkommenden Knoten erstellen. Damit ich die Gesamtanzahl der Knoten nicht jedes Mal manuell raussuchen muss, würde ich diese gerne aus der CDBase auslesen.
Abgespeichert ist diese Information in “Rec:: 020/002” unter dem Kennwort “NKNOTX”. Leider erscheint beim Ausführen des Programms immer folgender Fehler:

Ungültige Zahl/Ausdruck Typ 503 (unzulässiger Operator/CDB-Item-Name) :@(NKNOTX)
@(NKNOTX)

Hier meine Eingabe:

PROG TEMPLATE urs:6
KOPF Randknoten auslesen
LET#CDB_IER 0
@cdb R2500 LR 025
@key 020 002
LET#allnodes @(NKNOTX)
prt#allnodes
ENDE

Ich freue mich über Eure Hilfe

Kai

Hallo,

für die Lösung des Problems hilft ein kurzer Blick in die CDB (-> Datenbank-Tools → Datenbank-Informationen). Hier sieht man, dass die Gesamtknotenanzahl nicht über einen String angesprochen werden kann. Warum hier keiner Schlüssel hinterlegt ist, kann ich auch nicht sagen.

Das hat zur Folge, dass der Schlüssel -1 verwendet werden muss.


(vgl. Basishandbuch Kapitel 2.2.20 @KEY - Zugriff auf CDBASE)

Für Sie ergibt sich somit der folgende TEDDY Code:

+prog template
kopf

@key 20 2 -1

let#n @0
TXA #n
ende

Ergebnis:

Mit freundlichen Grüßen
Frederik Höller
Ihr SOFiSTiK Support Team

Guten Tag Herr Höller,

vielen Dank für die schnelle und informative Antwort.

Viele Grüße
Kai

1 Like