Anwendungsgebiet: PROCEDURE
Kommandobeschreibung
EXIT-BLOCK bricht die Verarbeitung eines Kommandoblocks ab (BEGIN-, FOR-, IF-, WHILE-, REPEAT-Block etc.) und setzt den Prozedurlauf mit dem Kommando fort, das auf das Blockabschlusskommando folgt. Bei einem BEGIN-Block, der mit einem INCLUDE-BLOCK-Kommando aufgerufen wurde, wird der Prozedurlauf mit dem Kommando fortgesetzt, das auf das INCLUDE-BLOCK-Kommando folgt.
Die Ausführung des Kommandos EXIT-BLOCK kann von einer Bedingung abhängig gemacht werden.
Hinweis
Aus Dialogblöcken ist nur die Rückkehr zur Dialogebene möglich
Im Kommando ist keine Ausdruckersetzung (&....) möglich.
Format
EXIT-BLOCK |
BLOCK = *LAST / *ALL / <structured-name 1..255> ,CONDITION = *NONE / <text 1..1800 with-low bool-expr> |
Operandenbeschreibung
BLOCK =
Bezeichnet den Block, der abgebrochen werden soll.
BLOCK = *LAST
Verweis auf den unmittelbar umgebenden Block; dieser wird abgebrochen.
BLOCK = *ALL
Die Verarbeitung aller umgebenden Blöcke wird abgebrochen; aus einem Dialogblock wird in die Dialogebene zurückgekehrt.
BLOCK = <structured-name 1..255>
Verweis auf die Marke des umgebenden Blocks, der abgebrochen werden soll.
CONDITION =
Beschreibt eine Bedingung für die Ausführung des EXIT-BLOCK-Kommandos.
CONDITION = *NONE
Das Kommando wird immer ausgeführt.
CONDITION = <text 1..1800 with-low bool-expr>
Das Kommando wird nur ausgeführt, wenn der angegebene boolsche Ausdruck den Wert „TRUE“ ergibt.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Ohne Fehler | |
1 | CMD0202 | Syntaxfehler | |
1 | SDP0118 | Kommando im falschen Kontext | |
1 | SDP0223 | Falsche Umgebung | |
3 | CMD2203 | Falsche Syntaxdatei | |
32 | CMD0221 | Systemfehler (interner Fehler) | |
64 | SDP0091 | Semantikfehler (unkorrekter Ausdruck) | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |
Beispiel 1
/LOOP: WHILE (BED < 9) : : /IF (EING='*END') /WRITE-TEXT 'Verarbeitung beendet' /EXIT-BLOCK LOOP /END-IF : : /END-WHILE /"Hier geht es nach Ausführung von EXIT-BLOCK weiter"
Beispiel 2
/J=0 /FOR I=('Zeile 1','Zeile 2','Zeile 3','Zeile 4) /J=J+1 /EXIT-BLOCK BLOCK=*LAST,CONDITION=(J>3) /SHOW-VARIABLE I /END-FOR
Ausgabe:
I = Zeile 1 I = Zeile 2 I = Zeile 3
Das vierte Element der Liste wird nicht mehr ausgewertet.