RETURN-CODE-Sonderregister
(6)
(7)
13.2 COBOL-Sonderregister RETURN-CODE
Das COBOL-Sonderregister RETURN-CODE kann zur Verständigung zwischen getrennt
übersetzten COBOL-Programmen einer Ablaufeinheit dienen. Das Sonderregister existiert
nur einmal im Programmsystem und ist intern als neunstelliges binäres Datenfeld
(PIC S9(9) COMP-5 SYNC) definiert.
RETURN-CODE kann während des Ablaufs beliebig von den einzelnen getrennt über-
setzten Programmen abgefragt oder verändert werden. Bei Beendigung des Programm-
laufs wird vom Laufzeitsystem überprüft, ob RETURN-CODE auf Null steht. Ist das nicht
der Fall, wird die Fehlermeldung COB9119 (bei COBOL-Returncode > 0) bzw. COB9128
(bei Anwender-Returncode > 0) ausgegeben. Wurde das Programm innerhalb einer Proze-
dur aufgerufen, verzweigt die Prozedur zum nächsten SET-JOB-STEP, EXIT-JOB,
LOGOFF, CANCEL-PROCEDURE, END-PROCEDURE und EXIT-PROCEDURE-Kom-
mando.
Ferner wird beim Verlassen eines COBOL-Unterprogramms der Wert des Sonderregisters
RETURN-CODE in die Register 0 und 1 geladen. Entsprechend den ILCS-Konventionen
steht der Wert damit dem aufrufenden Programm als Funktionswert zur Verfügung.
Um einen Funktionswert aus einem C-Programm zu übernehmen, muss das aufrufende
COBOL-Programm mit der Steueranweisung
RETURN-CODE=FROM-ALL-SUBPROGRAMS der RUNTIME-OPTIONS-Option
bzw. mit dem COMOPT-Operanden ACTIVATE-XPG4-RETURNCODE=YES übersetzt
werden (Achtung: Man kann den Funktionswert nicht mit der „RETURNING"- Angabe in der
CALL-Anweisung erhalten).
Um die abnormale Beendigung des Programms zu vermeiden, muss der Benutzer dafür
sorgen, dass RETURN-CODE vor Erreichen der STOP RUN-Anweisung den Wert 0 ent-
hält.
300
Zuweisen der Bibliothek, in der die LLMs stehen, mit dem Linknamen COBOBJCT,
damit die offenen Externverweise der zuvor erzeugten LLMs befriedigt werden kön-
nen.
Aufruf des LLM mit dem Hauptprogramm MAINPROG.
Programmverknüpfungen
U41113-J-Z125-6