FIND und FINDDEEP - Bedingter Zugriff über die Ebene der Datenstruktur
Bei dem Schlüsselwort #EB:FOREACH können Sie den Zugriff auf Objekte zusätzlich über die Ebene in der Datenstruktur beschränken.
FIND(Bedingung) | Stoppt die Suche auf der Ebene des ersten gefundenen Objektes des angegebenen Typs. Dies bedeutet, dass bei dieser Suche keine untergeordneten Objekte des gleichen Typs gefunden werden. |
FINDDEEP(Bedingung) | Stoppt die Suche erst auf der Ebene des letzten gefundenen Objektes des angegebenen Typs. So werden auch Objekte gefunden, die unterhalb von bereits gefundenen Objekten liegen. |
Mit FIND können Sie auch assoziierte Objekte, z. B. im Ordner Systeme finden.
Wenn das Startobjekt und die untergeordnete Struktur untersucht werden soll, verwenden Sie die folgende Syntax:
#EB:FOREACH(Role=0 OR FINDDEEP(Bedingung),Extrablatt)
Syntax:
- #EB:FOREACH(FIND(Bedingung), AAA)
Für Objekte, die die Bedingung erfüllen, wird der Inhalt des Extrablatts AAA eingefügt und mit den zugehörigen Informationen gefüllt.
Es wird nur auf der Ebene in der Datenstruktur gesucht, in der das erste Objekt gefunden wurde. Es werden keine untergeordneten Objekte gesucht, die ebenfalls der Bedingung entsprechen.
Beispiel:
#EB:FOREACH(FIND(TID=195),G5.1)
Startobjekt ist der Wärmetauscher. Gesucht werden alle Objekte vom Typ 195 = Stutzen. Für diese Objekte wird das Extrablatt G5.1 eingefügt.
Mit FIND werden die Objekte „Stutzen 011“ und „Stutzen 4“ nicht gefunden.
- #EB:FOREACH(FINDDEEP(Bedingung), BBB)
Es werden alle Objekte, die die Bedingung erfüllen, gefunden. Für diese wird der Inhalt des Extrablattes BBB mit dem zugehörigen Inhalt eingefügt.
Beispiel:
#EB:FOREACH(FINDDEEP(TID=195),G5.1)
Gesucht werden alle Objekte vom Typ 195 = Stutzen. Für diese Objekte wird das Extrablatt G5.1 eingefügt.
Mit FINDDEEP werden die Objekte „Stutzen 011“ und „Stutzen 4“ ebenfalls berücksichtigt.

