Allgemeines
Anwendungsgebiet: | Contingency-Verfahren; siehe "Contingency-Prozesse"; STXIT-Verfahren; siehe "STXIT-Verfahren mit Contingency-Verarbeitung"; Ereignissteuerung; siehe "Ereignisgesteuerte Verarbeitung (Eventing)" |
Makrotyp: | S-Typ, MF-Format 1: (Standardform/E-Form/L-Form); siehe "S-Typ-Makroaufrufe" |
Makrobeschreibung
Der SUSPEND-Makro versetzt den aufrufenden Basis- oder Contingency-Prozess in einen Wartezustand, bis ein (STXIT-)Contingency-Prozess startet.
Vorsicht: Wird kein (STXIT-)Contingency-Prozess gestartet, so verbleibt der SUSPEND
gebende Prozess im Wartezustand!
Wird der SUSPEND in Verbindung mit der Ereignissteuerung verwendet (z.B. asynchroner SOLSIG-Aufruf mit nachfolgendem SUSPEND-Aufruf), liegt es in der Verantwortung des Anwenders, dafür zu sorgen, dass noch ein POSSIG-Signal eintrifft, um mit dem dadurch gestarteten Contingency-Prozesses den Wartezustand zu beenden.
Makroaufrufformat und Operandenbeschreibung
SUSPEND |
[MF=L / E] |
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“ . Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Rückinformation und Fehleranzeigen
R15:
+---------------+ | | | | | |b|b| | | | |a|a| +---------------+
Über die Ausführung des Makros SUSPEND wird ein gegliederter Returncode (aa=primärer RC, bb=sekundärer RC) im Register R15 übergeben.
X'aa' | X'bb' | Erläuterung |
X'00' | X'00' | Der aufrufende Prozess wurde in den Wartezustand versetzt. |
X'04' | X'04' | Der Makro ist nur in TU-Programmen erlaubt. Keine Aktion. |
X'10' | X'04' | Ungültige Operanden wurden angegeben. Keine Aktion. |