Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

TERM Programm und Prozedurabschnitt beenden

&pagelevel(4)&pagelevel

Allgemeines

Anwendungsgebiet:

Jobvariablen

Makrotyp:

S-Typ: (Standardform/E-/L-Form)

Makrobeschreibung

Der TERM-Makro führt folgende Funktionen durch:

  • Programm beenden (Standardwert)

  • Programm und Prozedurabschnitt beenden (Operand UNIT=STEP)

  • Speicherauszug ausgeben (Operand DUMP)

  • Rückkehrcode an programmüberwachende Jobvariable übergeben (Operand URETCD)

Vor Programmbeendigung werden alle laufenden Ein-/Ausgabe-Operationen beendet.

Makroaufrufformat und Operandenbeschreibung


Operation

Operanden

TERM

UNIT=PRGR / STEP

,DUMP=N / Y

,MODE=N[ORMAL] / A[BNORMAL]

[,URETCD=adr / (r) / code ]

,MF=S / (E,..) / L


UNIT=
bestimmt, ob bei der Beendigung des Programms nach Betriebsarten unterschieden werden soll.

PRGR
ist Voreinstellung: Das Programm wird beendet.

STEP
beendet das Programm, wobei unterschieden wird, in welcher Betriebsart das Programm gelaufen ist.

    • Dialogbetrieb:
      Wurde das Programm in einer Nicht-S-Prozedur aufgerufen, so verzweigt das System zusätzlich zum nächsten SET-JOB-STEP-, EXIT-JOB- oder CANCEL-PROCEDURE-Kommando.
      Wurde das Programm in einer S-Prozedur aufgerufen, so löst das System zusätzlich die SDF-P-Fehlerbehandlung aus.

    • Batchbetrieb (ENTER-Prozedur):
      Das System verzweigt zusätzlich zum nächsten SET-JOB-STEP- oder EXIT-JOB-Kommando.

Hinweis

Folgende Angaben werden empfohlen:
UNIT=PRGR mit MODE=NORMAL
UNIT=STEP mit MODE=ABNORMAL

DUMP=
entscheidet, ob ein Speicherauszug ausgegeben werden soll.

N
ist Voreinstellung: Ein Speicherauszug wird nicht ausgegeben.

Y
gibt einen Speicherauszug aus, sofern kein Kommando MODIFY-TEST-OPTIONS mit DUMP=NO gegeben wurde.

MODE=
bestimmt die Art der Beendigung des Programms.

N[ORMAL]
ist Voreinstellung: Das Programm soll normal beendet werden.
Ist eine programmüberwachende Jobvariable definiert, so wird ihre Zustandsanzeige auf C’$T’gesetzt.

A[BNORMAL]
Das Programm soll abnormal beendet werden. Die Meldung
„.... ABNORMAL PROGRAM TERMINATION (&00)“ wird ausgegeben.

(&00)= NRT0001, wenn UNIT=PRGR angegeben wurde
(&00)= NRT0101, wenn UNIT=STEP angegeben wurde

Für Anwender von Jobvariablen:
Ist eine programmüberwachende Jobvariable definiert, so wird ihre
Zustandsanzeige auf $A gesetzt.

Hinweis

siehe Operand UNIT.

URETCD=
bestimmt den Rückkehrcode, der an die programmüberwachende Jobvariable übergeben wird (linksbündig, Byte 4 bis 7). Ist keine programmüberwachende Jobvariable definiert, wird der Operand ignoriert.
Fehlt der Operand, so wird der Wert C’’ in die programmüberwachende Jobvariable übergeben.

code
gibt einen 1 bis 4 Byte langen alphanumerischen Wert, dezimal (C’cccc’) oder sedezimal (X’xxxxxxxx’) an.

adr
adr = relative virtuelle Adresse eines 4 Zeichen langen alphanumerischen Wertes an.

(r)
r = Register, in dem ein 4 Zeichen langer alphanumerischer Wert steht. Mit dieser Angabe wird Register R0 zerstört.

MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden siehe Abschnitt „Allgemeine Makro-Operanden“.
Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei Makrotyp angegeben und aus dem Aufrufformat ersichtlich.


Funktionsweise

Wenn der Makroaufruf ausgeführt wird, tritt Folgendes auf:

  • Alle dem Programm zugewiesenen und noch geöffneten Dateien werden geschlossen.

  • Der Speicherplatz für das Programm wird freigegeben.

  • Die BBS-Operationsliste und die Einträge der BBS-Programmtabelle werden freigegeben.

  • Eine ggf. definierte STXIT-Routine für die Ereignisklasse TERM wird aktiviert.

  • AIDSYS wird aufgerufen mit dem Ereignis „TERM“.

  • In der Geräteliste werden die Byte 8 - 30 für jedes freigegebene Gerät gelöscht. In der Operationsliste wird das erste Byte auf X’FF’ gesetzt. In dem Eintrag der Programmtabelle wird die Programmanfangsadresse auf 0 gesetzt (4 Byte).

  • Anschließend wechselt das System in den Kommando-Modus.

Hinweise

  • Ist im URETCD-Operanden eine ungültige Adresse angegeben, so wird der Operand ignoriert.

  • Register R1 enthält die Adresse des Datenbereichs.
    Ist die Adresse des Datenbereichs ungültig oder wurden fehlerhafte Operanden eingegeben, so wird TERM UNIT=STEP,MODE=ABNORMAL,DUMP=Y ausgeführt und folgende Fehlermeldung ausgegeben:

    %.... ABNORMAL PROGRAM TERMINATION NRT0601

  • Der Aufruf des Makros TERM mit dem Operanden DUMP=Y veranlasst die Meldung

    "PROCESSING INTERRUPTED AT...)"

    Die Ausgabe des Speicherabzugs hängt vom Wert des Operanden DUMP im Kommando MODIFY-TEST-OPTIONS ab. Bei DUMP=*STD (Default-Wert) veranlasst TERM eine der folgenden Meldungen:

    • im Dialogbetrieb fragt das System:
      "DUMP DESIRED ? REPLY (Y=YES, N=NO)"
      Die Ausgabe des Dumps hängt von der Antwort ab.

    • im Batchbetrieb und in Prozeduren wird der Dump unterdrückt und folgende Meldung ausgegeben:
      "SYSTEM REGULATIONS PROHIBIT DUMP"