SHUT-Exits werden bei der Beendigung des Anwendungsprogramms aufgerufen (z.B. ausgelöst durch PEND ER). SHUT-Exits können Sie z.B. verwenden, um eigene Dateien zu schließen.
Die Event-Exits SHUT werden in der Reihenfolge der entsprechenden EXIT-Anweisungen aus der KDCDEF-Datei aufgerufen
Programmierhinweise
In diesem Event-Exit können Sie auf KB-Kopf und SPAB zugreifen, der KB-Programmbereich und der SPAB enthalten jedoch keine relevanten Daten. openUTM trägt für dieses Exit-Programm in die Felder KCTACVG/kccv_tac und KCTACAL/kcpr_tac des KB-Kopfes den Transaktionscode "SHUTDOWN" ein.
Wenn Sie weitere gemeinsame Speicherbereiche (AREAs) verwenden, können Sie im SHUT-Exit auf diese Bereiche zugreifen. Näheres siehe Abschnitte „Weitere Datenbereiche (AREAs)" und Punkt „Erweiterung der LINKAGE SECTION" in Abschnitt „COBOL-Teilprogramm als Unterprogramm".
Bei normaler Beendigung der Anwendung trägt openUTM beim letzten Prozess der Anwendung in das Feld KCKNZVG/kccv_status das Vorgangs-Kennzeichen "L" ein, ansonsten ein Leerzeichen.
Der Event-Exit SHUT darf keine KDCS-Aufrufe verwenden.
Der Event-Exit SHUT wird mit einer Rücksprunganweisung verlassen.
BS2000-Systeme
Tritt im SHUT-Teilprogramm ein Fehler auf (weil z.B. versucht wurde, eine nicht vorhandene Datei zu schließen), so kann der Event-Exit SHUT beendet werden. Geben Sie vorher eine Meldung aus, dass Sie selbst das Programm beenden. Wenn das Anwendungsprogramm beendet und zusätzlich ein USERDUMP geschrieben werden soll, rufen Sie z.B. ein kleines Assembler-Programm auf, in dem Sie ggf. zuerst das CDUMP-Makro und zum Schluss TERM mit dem Operanden UNIT=STEP aufrufen.
Generierungshinweise
Die Programme für die Event-Exits SHUT muss man bei der Generierung mit der EXIT-Anweisung, Operand USAGE=SHUT definieren.
Pro Anwendung darf es maximal 8 Event-Exits SHUT geben.
Mit der in dieser Version neuen Möglichkeit, mehrere SHUT-Exits zu verwenden, können Sie besser mit vorkonfigurierten oder zugekauften Anwendungskomponenten arbeiten, da diese häufig eigene START- und SHUT-Exits haben, die nun nacheinander abgearbeitet werden. Außerdem können Sie als Anwendungsbetreiber auch noch eigene SHUT-Exits aufnehmen.
Ein Beispiel für einen Event-Exit SHUT in C bzw. in COBOL finden Sie auf "Ergänzungen in C/C++: Beispiel für eine komplette UTM-Anwendung auf BS2000-Systemen" bzw. "Ergänzungen in COBOL: Beispiel für eine komplette UTM-Anwendung auf BS2000-Systemen".