Das Beendigungsverhalten eines Programms ist insbesondere dann von Bedeutung, wenn es in einer Prozedur aufgerufen oder von einer Jobvariablen überwacht wird.
Treten während des Programmablaufs Fehlermeldungen auf, denen ein interner ReturnCode zugeordnet ist (siehe dazu auch Fehlermeldung COB9119 in Kapitel „Meldungen des COBOL2000-Systems"), wird dieser Return-Code in die letzten beiden Bytes der Rückkehrcode-Anzeige einer überwachenden Jobvariablen (siehe Handbuch [7]) übernommen.
Die folgende Tabelle gibt einen Überblick über
die möglichen Inhalte der Rückkehrcode-Anzeige in Jobvariablen,
die zugeordneten Fehlermeldungen und
deren Auswirkung auf den weiteren Verlauf einer Prozedur.
Rückkehr- | Fehler- | Kurzbeschreibung des Fehlers | Fortsetzung | Dump | Auslösen von |
0100 | keine | Vom Laufzeitsystem wurde kein Fehler erkannt | -- | nein | nein |
1120 | COB9120 | Jobvariablen nicht verfügbar | ja | ja | |
1121 | COB9121 | End of File bei ACCEPT | ja | ||
1123 | COB9123 | fehlerhaftes Argument in einer Standardfunktion | ja | ||
1128 | COB9128 | Anwender-Returncode (Users Return Code) ist gesetzt | nein | ||
1131 | COB9131 | Jobvariablen: | ja | ||
1132 | COB9132 | falsche Parameteranzahl (CALL) | ja | ||
1133 | COB9133 | Programmablauf inBS2000-Version < 10.0 | nein | ||
1134 | COB9134 | Sort-Fehler | ja | ||
2140 | COB9140 | fehlerhafte Teilfeldselektion | ja | nein / ja4) | |
2141 | COB9141 | letzte XML-Anweisung noch nicht abgearbeitet | nein | ||
2142 | COB9142 | GO TO ohne ALTER | nein | ||
2143 | COB9143 | Freigabedatum für Datenträger noch nicht erreicht | nein | ||
2144 | COB9144 | Tabelle: Subskript-/Indexbereich überschritten | ja | ||
2145 | COB9145 | Tabelle (mit DEPENDING ON-Element): Subskript-/Indexbereich überschritten | ja | ||
2146 | COB9146 | COBOL Laufzeitsystem in CRTE ist inkompatibel zum Objektprogramm | nein | ||
2148 | COB9148 | CALL oder ADDRESS OF PROGRAMM nicht ausführbar | nein | ||
2149 | COB9149 | Inkompatible Daten in numerischeditiertem Feld | nein | ||
2151 | COB9151 | Dateien: | nein | ||
2152 | COB9152 | Verbindung zu Datenbank konnte nicht hergestellt werden | nein | ||
2153 | COB9153 | Fehler beim Konvertieren zwischen EBCDIC und UTF-16 | ja | ||
2154 | COB9154 | REPORT WRITER: | nein | ||
2155 | COB9155 | Fehler beim Verlassen einer USE-Prozedur | nein | ||
2156 | COB9156 | DML: Zu kleines SUB-SCHEMA-Modul zur Verarbeitung einer umfangreichen DML-Anweisung | nein | ||
2157 | COB9157 | CALL nicht ausführbar | nein | ||
2158 | COB9158 | Mehr als 9 rekursive Aufrufe von DEPENDING-Paragrafen | nein | ||
2159 | COB9159 | Fehler beim Verlassen einer XML PROCESSING-Prozedur | nein | ||
2160 | COB9160 | Ablaufeinheit verwendet CANCEL, enthält aber Programme, die mit einem Compiler COBOL85 < V2.0 übersetzt wurden | nein | ||
2162 | COB9162 | Die Eigenschaften einer externen Datei sind in den Programmen einer Ablaufeinheit nicht konsistent | nein | ||
2163 | COB9163 | Der Speicherplatz für DYNAMIC-Daten konnte nicht angelegt werden | nein | ||
2164 | COB9164 | Mit CALL aufgerufenes Programm ist nicht verfügbar | nein | ||
2165 | COB9165 | unzulässiger Aufruf bzw. | nein | ||
2168 | COB9168 | REPORT WRITER: | nein | ||
2173 | COB9173 | SORTlauf nicht erfolgreich | nein | ||
2174 | COB9174 | Fehlerbehandlung im Programm: | nein nein | ||
2176 | COB9176 | REPORT WRITER: | nein | ||
2178 | COB9178 | Zu sortierender Satz passt nicht zu SD-Beschreibung | nein | ||
2179 | COB9179 | sortierter Satz passt nicht zur GIVING-Dateibeschreibung | nein | ||
2180 | COB9180 | RELEASE / RETURN außerhalb der SORT-/ MERGE-Steuerung | nein | ||
2181 | COB9181 | DATABASE-HANDLER hat letzte DML-Anweisung noch nicht abgearbeitet | nein | ||
2182 | COB9182 | unzulässige Vererbung bei Klassen bzw. Interfaces | nein | ||
2184 | COB9184 | SORT innerhalb der SORT-Steuerung | nein | ||
2185 | COB9185 | Fehler im Zusammenhang mit OO-Sprachmittel | nein | ||
2188 | COB9188 | XML-Parser nicht gefunden | nein | ||
2189 | COB9189 | PARTIAL-BIND-Laufzeitsystem nicht gefunden | nein | ||
3191 | COB9191 | SUPER-Klasse nicht gefunden | nein | ja | |
3192 | COB9192 | Programmende wurde erreicht, ohne dass STOP RUN oder EXIT PROGRAM ausgeführt wurde | nein | ||
3193 | COB9193 | Fehler bei DISPLAY | nein | ||
3194 | COB9194 | Fehler bei Eingabe von SYSDTA | nein | ||
3195 | COB9195 | Fehler bei Ausgabe auf SYSLST | nein | ||
3196 | COB9196 | ACCEPT- oder DISPLAY-Anweisung: Fehler an der Schnittstelle Laufzeitystem-Betriebssystem | nein | ||
3197 | COB9197 | Jobvariablen: fehlerhafter Zugriff | ja | ||
3198 | COB9198 | Hardware-Unterbrechung | nein | ||
3199 | keine | WROUT-Fehler: | nein |
Tabelle 10: Rückkehrcode-Anzeige in Jobvariablen
1) | Die 1. Ziffer bezeichnet das Gewicht der Meldung (0: Hinweis, 1: Warnung, 2: Fehler, 3: Abbruchfehler). |
2) | Inhalt und Bedeutung der Meldungen siehe Kapitel „Meldungen des COBOL2000-Systems" |
3) | Mit RUNTIME-OPTIONS=PAR(ERROR-REACTION = TERMINATION) bzw. COMOPT CONTINUE-AFTER-MESSAGE=NO kann der Programmabbruch herbeigeführt werden. Nach Programmabbruch wird der dazugehörige Rückkehrcode in die programmüberwachende Jobvariable gesetzt. |
4) | Stapelbetrieb: nein |
5) | Wenn Spin-Off ausgelöst ist, werden alle nachfolgenden Kommandos mit Ausnahme der Kommandos SET-JOB-STEP, EXIT-JOB, LOGOFF, CANCEL-PROCEDURE, END-PROCEDURE und EXIT-PROCEDURE ignoriert. Dabei beendet das Kommando SET-JOB-STEP den Spin-Off und die Verarbeitung wird mit dem nächsten Kommando fortgesetzt. |