Mit der Funktion LEVL positionieren Sie auf ein Operanden-Array , das zu einer Strukturbeschreibung gehört (siehe Abschnitt „Aufbau des normierten Übergabebereichs“).
Nach dem Aufruf der Funktion INIT ist zunächst auf das Operanden-Array der höchsten Ebene positioniert, d.h auf das Operanden-Array, dessen Operanden mit der SDF-A-Anweisung ADD-OPERAND ...,RESULT-OPERAND-LEVEL=1 definiert wurden.
Die Funktion LEVL bezieht sich immer auf das zurzeit aktuelle Operanden-Array. Das kann auch das Operanden-Array einer Strukturbeschreibung sein, wenn die Funktion LEVL zuvor schon einmal aufgerufen wurde.
Die Strukturbeschreibung kann auch Element einer Liste sein. In diesem Fall müssen Sie sowohl die Position der Liste im aktuellen Operanden-Array als auch die Position der Strukturbeschreibung in dieser Liste angeben.
Ist die Strukturbeschreibung nicht Element einer Liste, so müssen Sie nur die Position der Strukturbeschreibung im Operanden-Array angeben.
Um zum Operanden-Array der höchsten Ebene zurückzukehren, müssen Sie für die Position den Wert 0 eingeben.
Aufruf
CALL SDF('LEVL',area,error,pos[,lst])
Beschreibung der Parameterliste
Parameter | Datentyp | Ein-/ | Bedeutung |
LEVL | char(4) | in | Funktionsname: Schlüsselwort LEVL |
area | char() | in | Puffer, in dem der normierte Übergabebereich abgelegt wurde (siehe INIT) |
error | integer | out | Returncode |
pos | integer | in |
Bei pos=0 wird auf das Operanden-Array der höchsten Ebene positioniert. |
lst | integer | in | nur relevant, wenn die Strukturbeschreibung Element einer Liste ist: Position der Strukturbeschreibung in der Liste |
Rückwärts kann nur auf das Operanden-Array der höchsten Ebene positioniert werden. Für die Rückwärtspositionierung auf eine Zwischenebene muss der Benutzer selbst für die Aufzeichnung des Pfades sorgen.