Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

HOLD-PROCEDURE

&pagelevel(3)&pagelevel

Prozedurablauf für Kommandoeingabe unterbrechen

Komponente:

SYSFILE

Funktionsbereich:

Prozeduren

Anwendungsbereich:

PROCEDURE                                                                                                      

Privilegierung:

STD-PROCESSING
HARDWARE-MAINTENANCE
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Funktionsbeschreibung

Das Kommando HOLD-PROCEDURE unterbricht eine Prozedur und gibt eine Meldung aus:

TASK IS IN ESCAPE MODE AT LEVEL NUMBER i

i = Nummer der aktuellen Prozedurstufe

Danach kann der Benutzer an der Datenstation Kommandos eingeben. Diesen Unterbrechungszustand nennt man ESCAPE-Modus. Der ESCAPE-MODUS wird so lange beibehalten, bis er mit einem CANCEL-PROCEDURE- oder RESUME-PROCEDURE-Kommando beendet wird.
Das HOLD-PROCEDURE-Kommando ist im Batchbetrieb nicht erlaubt und darf im Dialogbetrieb nur in Prozedurdateien angegeben werden. Es wird daher nicht im Menü angeboten.

Format

HOLD-PROCEDURE                                                                                                                                    


Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Kommando ausgeführt

2

0

SSM2015

Kommando ist im Batchbetrieb nicht erlaubt

2

0

SSM2016

Kommando kann nicht von der Dialogstation eingegeben werden


32

SSM1013

Systemfehler während der Kommandoausführung

Hinweise

  • Schachtelung von Unterbrechungen ist erlaubt (siehe Beispiele). Eine Prozedur, die im ESCAPE-Modus aufgerufen wurde, kann auch durch HOLD-PROCEDURE unterbrochen werden. In diesem Falle geht die erste Unterbrechung nicht verloren (siehe Beispiel 3).

  • Im ESCAPE-Modus sind die symbolischen Operanden, die in der unterbrochenen Prozedur definiert wurden, für den Teilnehmer verfügbar und können von der Datenstation aus verwendet werden. Dennoch wird ein Kommando mit symbolischem Operand, der durch den entsprechenden Wert ersetzt wurde, nur protokolliert, wenn bei der unterbrochenen Prozedur eine Protokollierung gewünscht wurde (siehe Beispiel 4).

Beispiele

Beispiel 1: Ausführung eines EXIT-PROCEDURE-Kommandos im ESCAPE-Modus

Bild 5: EXIT-PROCEDURE-Kommando im ESCAPE-Modus

Die Pfeile zeigen die Reihenfolge der Kommandobearbeitung (SYSCMD):

  1. Durch das Kommmano /CALL-PROC FROM=PROC1 wird SYSCMD der Prozedurdatei PROC1 zugewiesen.

  2. Durch das Kommando /CALL-PROC FROM=PROC2 wird SYSCMD der Prozedurdatei PROC2 zugewiesen.

  3. Das Kommando /HOLD-PROC schaltet den ESCAPE-Modus ein: SYSCMD wird der Datenstation zugewiesen. Den Wechsel in den ESCAPE-Modus kann der Benutzer auch durch Drücken von [K2] erreichen, wenn dies in der Prozedur zugelassen ist. Dabei kann aber die Unterbrechungsstelle nicht genau vorherbestimmt werden.

  4. EXIT-PROCEDURE bewirkt einen Sprung von Prozedurstufe 2 zu Prozedurstufe 1; der ESCAPE-Modus bleibt beibehalten. (Würde an Stelle des EXIT-PROCEDURE ein RESUME-PROCEDURE-Kommando eingegeben, so würde PROC2 an der Unterbrechungsstelle fortgesetzt werden)

  5. Das RESUME-PROCEDURE-Kommando hebt den ESCAPE-Modus auf. SYSCMD ist wieder der Prozedurdatei PROC1 zugewiesen.

  6. SYSCMD wird wieder der primären Kommandoeingabe zugewiesen.

 

Beispiel 2: Ausführung eines CALL-PROCEDURE-Kommandos im ESCAPE-Modus

Bild 6: CALL-PROCEDURE-Kommando im ESCAPE-Modus

Die Pfeile zeigen die Reihenfolge der Kommandobearbeitung (SYSCMD):

  1. Durch das Kommando /CALL-PROC FROM=PROC1 wird SYSCMD der Prozedurdatei PROC1 zugewiesen.

  2. Das Kommando /HOLD-PROC schaltet den ESCAPE-Modus ein: SYSCMD wird der Datenstation zugewiesen. Den Wechsel in den ESCAPE-Modus kann der Benutzer auch durch Drücken von [K2] erreichen, wenn dies in der Prozedur zugelassen ist. Dabei kann aber die Unterbrechungsstelle nicht genau vorherbestimmt werden.

  3. Durch das Kommando /CALL-PROC FROM=PROC2 wird SYSCMD der Prozedurdatei PROC2 zugewiesen.

  4. END-PROC bewirkt einen Sprung von Prozedurstufe 2 zu Prozedurstufe 1. Der ESCAPE-Modus ist noch eingeschaltet, d.h. SYSCMD ist der Datenstation zugewiesen.

  5. Das RESUME-PROCEDURE-Kommando hebt den ESCAPE-Modus auf. SYSCMD ist wieder der Prozedurdatei PROC1 zugewiesen.

  6. SYSCMD wird wieder der primären Kommandoeingabe zugewiesen.

 

Beispiel 3: Schachtelung von ESCAPE-Stufen

Bild 7: Schachtelung von ESCAPE-Stufen

Die Pfeile zeigen die Reihenfolge der Kommandobearbeitung (SYSCMD):

  1. Durch das Kommando /CALL-PROC FROM=PROC1 wird SYSCMD der Prozedurdatei PROC1 zugewiesen.

  2. Das Kommando /HOLD-PROC schaltet den ESCAPE-Modus ein: SYSCMD wird der Datenstation zugewiesen. Den Wechsel in den ESCAPE-Modus kann der Benutzer auch durch Drücken von [K2] erreichen, wenn dies in der Prozedur zugelassen ist. Dabei kann aber die Unterbrechungsstelle nicht genau vorherbestimmt werden.

  3. Durch das Kommando /CALL-PROC FROM=PROC2 wird SYSCMD der Prozedurdatei PROC2 zugewiesen.

  4. Das Kommando /HOLD-PROC schaltet den ESCAPE-Modus ein: SYSCMD wird der Datenstation zugewiesen. Den Wechsel in den ESCAPE-Modus kann der Benutzer auch durch Drücken von [K2] erreichen, wenn dies in der Prozedur zugelassen ist. Dabei kann aber die Unterbrechungsstelle nicht genau vorherbestimmt werden.

  5. SYSCMD wird der Prozedurdatei PROC2 zugewiesen.

  6. SYSCMD wird der Datenstation zugewiesen (ESCAPE-Modus der 1.Stufe noch eingeschaltet).

  7. Durch das Kommando RESUME-PROCEDURE wird SYSCMD wieder der Prozedurdatei PROC1 zugewiesen.

  8. SYSCMD wird der primären Kommandoeingabe zugewiesen.

Beispiel 4: Verwendung von symbolischen Operanden im ESCAPE-Modus

Bild 8: Eingabe symbolischer Parameter im ESCAPE-Modus

Die Pfeile zeigen die Reihenfolge der Kommandobearbeitung (SYSCMD). Für den symbolischen Operanden „&DAT“ wird der Dateiname TEST bei Aufruf der Prozedur PROC1 durch das CALL-PROCEDURE-Kommando eingesetzt. Nach Verlassen des Prozedurmodus mit dem HOLD-PROC-Kommando wird an der Datenstation ein ASSIGN-SYSDTA-Kommando unter Verwendung des symbolischen Parameters „&DAT“ abgesetzt. Da für die Prozedurdatei PROC1 eine Protokollierung der Kommandos auf SYSOUT gewünscht war (Angabe des Operanden LOGGING=*CMD im BEGIN-PROCEDURE-Kommando), wird dieses Kommando - mit dem entsprechenden Wert TEST ergänzt - auch im ESCAPE-Modus auf SYSOUT protokolliert.