Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

INCLUDE-BLOCK BEGIN-Block als Unterprozedur ausführen

&pagelevel(4)&pagelevel

Anwendungsgebiet: PROCEDURE

Kommandobeschreibung

Das Kommando INCLUDE-BLOCK verzweigt zu dem Kommando BEGIN-BLOCK mit der angegebenen Marke (Namen). Nach Ausführung des (nächsten) Kommandos END-
BLOCK oder EXIT-BLOCK erfolgt der Rücksprung zu dem Kommando, das dem Kommando INCLUDE-BLOCK folgt. (Zu BEGIN-Block siehe Abschnitt „Blockanfang als Sprungziel“).

Das Kommando INCLUDE-BLOCK ermöglicht die komfortable Ausführung einer Unterprozedur, die zwischen den Kommandos BEGIN-BLOCK und END-BLOCK definiert ist. In diesem Fall sind folgende Regeln zu beachten:

  • /INCLUDE-BLOCK verzweigt nur zu einem /BEGIN-BLOCK mit einer Marke (Namen). Um zu anderen Kommandos mit einer Marke zu verzweigen, muss das Kommando GOTO benutzt werden.

  • Der BEGIN-Block mit der Unterprozedur ist sinnvollerweise nach dem Kommando EXIT-PROCEDURE anzuordnen. Das vermeidet die ungewollte Ausführung während des Prozedurablaufs.

  • Die Unterprozedur läuft in der gleichen Prozedurumgebung ab, wie die übergeordnete Prozedur (d.h. gleicher Variablenkontext, gleiche SYSFILE-Umgebung, usw.).

  • Der rekursive Aufruf der Unterprozedur ist nicht erlaubt.

  • Prozedurschachtelung ist erlaubt, sollte aber wegen Unübersichtlichkeit und unbeabsichtigtem Durchlaufen von BEGIN-Blöcken vermieden werden. Zu den Unterprozeduren kann direkt – in beliebiger Tiefe – verzweigt werden.

  • Das Kommando GOTO kann in der Unterprozedur verwendet werden, wobei es aber nur zu Marken innerhalb der Unterprozedur verzweigen sollte, da sonst die Unterprozedur verlassen wird.

  • Die bei dem Kommando BEGIN-BLOCK stehende Marke muss in der gesamten Prozedur eindeutig sein.

Das Kommando INCLUDE-BLOCK wird im Dialog-Modus abgewiesen.

Hinweis
Im Kommando ist keine Ausdruckersetzung (&....) möglich.

Format

INCLUDE-BLOCK

BLOCK = <structured-name 1..255>

Operandenbeschreibung

BLOCK = <structured-name 1..255>
Name des BEGIN-Blocks, der als Unterprozedur ausgeführt werden soll.Der Name ist ohne den abschließenden Doppelpunkt einzugeben.

Kommando-Returncode

(SC2)SC1MaincodeBedeutung

0CMD0001Ohne Fehler

1CMD0202Syntaxfehler

1SDP0118Kommando im falschen Kontext

1SDP0223Falsche Umgebung

3CMD2203Falsche Syntaxdatei

32CMD0221Systemfehler (interner Fehler)

Beispiel

/ASSIGN-SYSLST TO=PROT.EINGABE,SYSLST-NUMBER=1
/...
/IF (EING='*START')
/ INCLUDE-BLOCK INFO-1
/END-IF     &* Hier geht es nach Ausführung der Unterprozedur INFO-1 weiter
/...
/IF (EING='*END')
/ INCLUDE-BLOCK INFO-1
/END-IF     &* Hier geht es nach Ausführung der Unterprozedur INFO-1 weiter
/...
/...
/...
/INFO-1: BEGIN-BLOCK    &* Beginn der Unterprozedur INFO-1
/      WRITE-TEXT '&(TIME()): Es wurde &(EING) eingegeben',OUTPUT=*SYSLST(1)
/END-BLOCK &*Ende + Rücksprung zur Kommandozeile, die auf INCLUDE-BLOCK folgt