returnCode

Die Systemvariable 'sysVar.returnCode' enthält einen externen Rückgabecode, der von Ihrem Programm festgelegt wurde. Ein Hauptprogramm verwendet 'sysVar.returnCode', um einen Rückgabecode an das Betriebssystem zu übergeben; Beispiel: JCL (Jobsteuersprache), CL (Command Language), Stapeldatei oder Befehlsprozessor. Ein aufgerufenes Programm verwendet 'sysVar.returnCode', um einen Rückgabecode an ein Nicht-EGL-Programm zu übergeben.

Rückgabecodes können nicht von einem EGL-Programm an ein anderes EGL-Programm übergeben werden. Ein Wert ungleich null in 'sysVar.returnCode' beispielsweise führt nicht dazu, dass EGL einen onException-Block ausführt.

Der Anfangswert von 'sysVar.returnCode' ist null. Für COBOL-Ausgabe muss der Wert im Bereich von 0 bis einschließlich 512 liegen.

Kenndaten

Kenndaten von 'sysVar.returnCode':
Basiselementtyp (primitiver Typ)
INT
Datenlänge
9
Wert übergreifend für Anweisung 'converse' im Segmentmodus speichern?
Ja

Beispiel

Im folgenden Beispiel wird ein Rückgabecode zur Übergabe an das Betriebssystem festgelegt:

  sysVar.returnCode = 6;

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für 'returnCode'
Plattform Problem
Java™-Generierung
  • Der Wert von 'sysVar.returnCode' muss im Bereich -2147483648 bis 2147483647 einschließlich liegen.
  • 'sysVar.returnCode' ist nur in Programmen verfügbar, die über die Befehlszeile oder ein Script aufgerufen werden (d. h. nur in einem Haupttextprogramm oder in einem Hauptstapelverarbeitungsprogramm). In diesem Kontext hat 'sysVar.returnCode' die Aufgabe, einen Code für die Befehlsdatei oder ausführbare Datei bereitzustellen, die das Programm aufruft.
  • Wenn das Programm mit einem Fehler beendet wird, der nicht der Kontrolle des Programms unterliegt, ignoriert die EGL-Laufzeit die Einstellung von 'sysVar.returnCode' und versucht, den Wert 693 zurückzugeben.
  • Unter Windows können Sie den Wert abrufen, indem Sie %ERRORLEVEL% in der Eingabeaufforderung überprüfen. Andere Betriebssysteme haben ähnliche Variablen.
  • Nach einem erfolgreichen Aufruf an 'sysLib.callCmd()' wird der Rückgabecode des aufgerufenen Befehls in 'sysVar.returnCode' gestellt.
COBOL-Generierung
  • Der Wert von 'sysVar.returnCode' muss im Bereich von 0 bis 512 einschließlich liegen.
  • 'sysVar.returnCode' enthält einen Code, der in den meisten Fällen dem Betriebssystem zur Verfügung gestellt wird sowie allen aufrufenden Programmen, die kein EGL-generiertes Programm sind. Wenn das Programm mit einem Fehler beendet wird, der nicht von Ihrem Code bearbeitet wird, versucht die EGL-Laufzeit, einen Wert größer als 512 zurückzugeben.
  • 'sysVar.returnCode' wird mit dem COBOL-Sonderregister 'RETURN-CODE' implementiert.
CICS für z/OS 'sysVar.returnCode' ist nur dann nach Beendigung des Programms verfügbar, wenn das Programm über ein anderes Programm in derselben CICS-Region aufgerufen wurde und nicht über einen Befehl EXEC CICS LINK. Der Rückkehrcode ist nur dann von Bedeutung, wenn das CICS-basierte Programm aufgerufen wird (und zwar auch nur dann, wenn das Programm von einem nicht mit EGL generierten Programm aufgerufen wird).
IMS/VS 'sysVar.returnCode' wird nicht von Hauptprogrammen zurück übergeben.

Feedback