Unterbrochenen Prozedurablauf fortsetzen
Komponente: | SYSFILE |
Funktionsbereich: | Prozeduren |
Anwendungsbereich: | PROCEDURE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Das Kommando RESUME-PROCEDURE beendet den ESCAPE-Modus (siehe Kommando HOLD-PROCEDURE) und setzt einen unterbrochenen Prozedurablauf fort.
Format
RESUME-PROCEDURE | Kurzname: RUP |
MODE = *ACTUAL / *CMD / *PROGRAM |
Operandenbeschreibung
MODE =
Modus, in dem der Prozedurablauf fortzusetzen ist.
MODE = *ACTUAL
Der Prozedurablauf wird in dem Modus fortgesetzt, der zum Unterbrechungszeitpunkt gegeben war.
Kommando-Modus: Die Steuerung kehrt zum nächsten Kommando der Prozedurdatei zurück.
Programm-Modus: Das unterbrochene Programm wird an der Adresse wieder aufgenommen, an der es unterbrochen wurde.
MODE = *CMD
Die Prozedur soll im Kommando-Modus fortgesetzt werden. War die Prozedur im Programm-Modus unterbrochen, so bleibt das unterbrochene Programm geladen, bis ein Kommando RESUME-PROCEDURE mit MODE=*PROGRAM gegeben wird.
MODE = *PROGRAM
Die Prozedur soll im Programm-Modus fortgesetzt werden. Wenn kein Programm (mehr) geladen ist, wird eine Fehlermeldung ausgegeben und die Steuerung an die Datenstation zurückgegeben. Der Benutzer kann dann mit dem Kommando RESUME-PROCEDURE mit MODE=*CMD den Prozedurablauf im Kommandomodus fortsetzen.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Kommando fehlerfrei beendet | |
64 | SSM2018 | Kommando nicht erlaubt im Batchbetrieb oder in einer nicht unterbrechbaren Prozedur | |
64 | SSM2019 | Es existiert keine unterbrochene Prozedur | |
64 | SSM2020 | MODE=*PROGRAM und kein Programm geladen | |
64 | SSM2013 | kein Programm geladen |
Hinweise
Eine unterbrochene Prozedur kann nur mit dem RESUME-PROCEDURE-Kommando fortgesetzt werden.
Das RESUME-PROCEDURE-Kommando muss immer im Dialog eingegeben werden. Ist es Bestandteil einer Prozedur oder eines Batchauftrags, wird nach Ausgabe einer entsprechenden Fehlermeldung der Spin-Off-Mechanismus ausgelöst.
Soll eine im Kommando-Modus unterbrochene Prozedur im Programm-Modus fortgesetzt werden, kann das nur mit der expliziten Angabe des Operanden MODE= *PROGRAM erfolgen. Das Programm selbst kann in jeder beliebigen Stufe geladen worden sein und in jeder beliebigen Stufe fortgesetzt werden. Das Programm ist aber jeweils an die in der aktuellen Stufe gültigen Zuweisungen zu den Systemdateien gebunden (ASSIGN-Kommando).
Mit dem Kommando EXIT-PROCEDURE wird vom ESCAPE-Modus der aktuellen Prozedur direkt auf den ESCAPE-Modus der nächstniedrigeren Prozedurstufe umgeschaltet. Diese Prozedur kann nun mit dem Kommando RESUME-PROCEDURE (ohne Operanden) in dem aktuellen Modus fortgesetzt werden. Mit der Angabe des Operanden MODE=*PROGRAM/*CMD kann diese Prozedur auch in einem neu eingestellten Modus fortgesetzt werden.
Beispiel
Die Pfeile zeigen die Reihenfolge der Kommandobearbeitung (SYSCMD).
Durch das Kommando
/CALL-PROC FROM=PROC1
wird die Prozedur PROC1 gestartet, SYSCMD ist der Prozedurdatei PROC1 zugewiesen.In der Prozedur wird das Programm PROG geladen und gestartet. Die logischen Systemdateien der Prozedurstufe 1 sind dem Programm zugeordnet. Die Prozedur PROC1 wird durch Drücken von [K2] im Programm-Modus unterbrochen, d.h. die Unterbrechung tritt während der Ausführung des Programms PROG auf. SYSCMD wird der Datenstation zugeordnet (ESCAPE-Modus).
Durch das Kommando
/CALL-PROC FROM=PROC2
wird die Prozedur PROC2 gestartet, SYSCMD ist der Prozedurdatei PROC2 zugewiesen.Die Prozedur PROC2 wird im Kommando-Modus durch ein HOLD-PROCEDURE-Kommando unterbrochen. SYSCMD wird der Datenstation zugeordnet (ESCAPE-Modus).
Das mit [K2] unterbrochene Programm PROG wird in der Prozedurstufe 2 fortgesetzt. Jetzt sind dem Programm die logischen Systemdateien der Prozedurstufe 2 zugeordnet. Wird der Programmlauf in dieser Prozedurstufe beendet (Durchlaufen des letzten Befehls), erhält die Prozedur PROC2 die Steuerung. Die Verarbeitung wird mit dem Kommando fortgesetzt, das dem HOLD-PROCEDURE-Kommando folgt.
Die Prozedur PROC2 wird durch
/END-PROC
beendet, SYSCMD wird wieder der Datenstation zugewiesen (ESCAPE-Modus der 1. Stufe, Stufe 1 befindet sich noch im Programm-Modus).Das RESUME-PROCEDURE-Kommando hebt den ESCAPE-Modus der Stufe 1 auf. Da zu diesem Zeitpunkt das Programm PROG nicht mehr geladen ist, muss der Benutzer den Operanden MODE=*CMD angeben, um vom Programm-Modus in den Kommando-Modus umzuschalten.
SYSCMD wird wieder der primären Kommandoeingabe zugewiesen.