Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Exit-Adresse im FCB

Verweis auf globale Programm-Routine

Die globale Routine ist für die Bearbeitung aller überhaupt vorkommenden Fehler zuständig. Die Adresse ist in diesem Fall in Klammern einzuschließen, also EXIT=(adr).

Die Exit-Routine kann die FCB-Felder ID1XITB und ID1ECB auswerten: ID1XITB zeigt die Fehlerursache an, ID1ECB enthält einen DVS-Fehlerschlüssel (siehe auch Abschnitt „Fehlermeldungsschlüssel“ im Anhang des Handbuches „DVS-Makros“ [1] ).

Die Routine kann auch genutzt werden, das Programm ordnungsgemäß zu beenden (Dateien schließen!) oder Speicherabzüge anzufordern (Makros CDUMP2 oder TERM, DUMP=Y, siehe Handbuch „Makroaufrufe an den Ablaufteil“ [2]).

Verweis auf den EXLST-Makroaufruf

Mit der Exit-Adresse im FCB kann auch ein EXLST-Makroaufruf adressiert werden.
In diesem Fall ist im EXIT-Operanden die Adresse ohne Klammern anzugeben: EXIT=adr. Der EXLST-Makroaufruf kann genutzt werden, um einerseits spezifische Ereignisse/Fehler abzufragen und Sondermaßnahmen einzuleiten, während andere Ereignisse/Fehler global in einer gemeinsamen Routine behandelt werden.

Ereignisse, für die kein separater EXLST-Ausgang definiert werden soll, können über den COMMON-Operanden „abgefangen werden“. Die COMMON-Routine führt dann Fehlerbehandlung usw. durch. Gleichzeitig wird durch Definition des COMMON-Operanden auch Programmabbruch vermieden, wenn ein Ereignis eintritt, für das kein separater EXLST-Ausgang versorgt wurde.


Hinweis

Wird zum OPEN-Zeitpunkt bei der FCB-Validierung erkannt, dass der FCB nicht korrekt ist (z.B. Speicherbereich nicht allokiert, mit derselben FCB-Adresse ist bereits eine Dateibearbeitung aktiv, usw.) kommt dieser Mechanismus nicht zum tragen. In einem solchen Fall erfolgt immer eine abnormale Programmbeendigung mit dem Fehlerschlüssel DMS0D9F.