Kommando-Returncodes, die ein BS2000-Kommando bei der Ausführung zurückgeben kann, sind Bestandteil der jeweiligen Kommandobeschreibung.
Die nachfolgende Tabelle enthält allgemeine Kommando-Returncodes, die automatisch von SDF zurückgegeben werden:
wenn ein Fehler bereits vor der Kommandoausführung von SDF erkannt wird (z.B. Syntaxfehler).
wenn das Kommando nicht ausgeführt werden kann.
wenn das Kommando, d.h. der Ausführungsmodul selbst keinen Kommando-Returncode zurückgibt. In diesem Fall sind in der Kommandobeschreibung keine spezifischen Kommando-Returncodes enthalten.
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Ohne Fehler | |
0 | CMD0002 | Kommandoausführung mit Warnung 4) | |
0 | CMD0026 | Kommando nicht mehr verfügbar | |
1 | 0 | CMD0093 | Prozedur im Testmodus beendet 1) |
2 | 0 | CMD0201 | Dateiende erreicht 1) |
2 | 0 | CMD0214 | Programmende 3) |
1 | CMD0211 | Übergabebereich von SDF zu klein | |
1 | CMD0202 | Syntaxfehler 5) 6) | |
1 | CMD0205 | SPIN-OFF 1) 2) | |
1 | CMD2201 | interner Parameterfehler | |
2 | CMD0200 | Kommando zurzeit nicht verfügbar | |
2 | CMD2202 | Subsystem nicht definiert | |
3 | CMD2203 | Fehler bei Installation | |
32 | CMD0221 | interner SDF-Fehler | |
32 | CMD2009 | Fehler bei Ausgabe in Variablen | |
32 | IMO9101 | interner Fehler in IMON-GPN | |
64 | CMD0216 | Erforderliches Privileg fehlt | |
64 | IMO9100 | Installation-Unit, Version oder logischer Name nicht gefunden, usw.; Ursache kann der SYSOUT-Meldung entnommen werden | |
65 | CMD2241 | Subsystem nicht geladen | |
66 | CMD2242 | keine Verbindung zum Subsystem | |
128 | CMD2280 | Subsystem kurzfristig nicht verfügbar | |
129 | CMD2281 | Subsystem langfristig nicht verfügbar | |
130 | CMD2282 | Subsystem für unbestimmte Dauer nicht verfügbar | |
130 | NBR0748 | Nach /SHUTDOWN ist an der Konsole keine Kommandoeingabe außer /SHOW-PENDING-MSG möglich |
Die Kommando-Returncodes CMD0093, CMD0201 und CMD0205 sind nicht möglich, wenn das Kommando über den CMD-Makro abgesetzt wird.
Der Kommando-Returncode CMD0205 wird zurückgegeben, wenn Spin-Off ausgelöst wurde. Beispiel: Programmende mit dem Makroaufruf TERM mit UNIT=STEP und während des Programmlaufs wurde kein Kommando-Returncode mit dem Makroaufruf CMDRC gesetzt.
Der Kommando-Returncode CMD0214 kann von dem CMD-Makro nicht mehr an das aufrufende Programm zurückgegeben werden, da das Programm durch CMD-Makro-Ausführung bereits beendet wurde.
Der Kommando-Returncode CMD0002 wird von SDF zurückgegeben, wenn ein Kommando trotz fehlerfreier Ausführung Spin-Off auslöst. Das bisherige Spin-Off-Verhalten von Kommandos, und damit die Fehlerbehandlung in Prozeduren, werden dadurch kompatibel unterstützt. In S-Prozeduren, in denen ERROR-MECHANISM= *BY-RETURNCODE gilt (siehe Kommando SET- bzw. MODIFY-PROCEDURE-OPTIONS), wird die Fehlerbehandlung nicht eingeleitet, da der zugehörige Subcode1 den Wert null besitzt.
Der Kommando-Returncode CMD0202 wird von SDF zurückgegeben, wenn ein Kommando bei fehlerhafter Ausführung keinen Spin-Off auslöst. CMD0202 zeigt Syntax- und Semantikfehler an, die bei der Kommandoausführung erkannt werden. Das bisherige Spin-Off-Verhalten von Kommandos und damit die Fehlerbehandlung in Prozeduren werden dadurch kompatibel unterstützt. In S-Prozeduren, in denen ERROR-MECHANISM=*BY-RETURNCODE gilt (siehe Kommando SET- bzw. MODIFY-PROCEDURE-OPTIONS), wird die Fehlerbehandlung eingeleitet, da der zugehörige Subcode1 einen Wert ungleich null besitzt.
Der Kommando-Returncode CMD0202 wird von SDF sowohl bei Syntaxfehler als auch bei Semantikfehler von dem Ausführungsmodul zurückgegeben.
Hinweise
In Benutzerprogrammen kann mit dem Makroaufruf CMDRC ein Kommando-Returncode gesetzt werden. Dieser bleibt erhalten bis zum nächsten CMDRC-Makroaufruf. Bei Programmbeendigung wird der aktuelle Kommando-Returncode aus dem Programm an den Aufrufer zurückgegeben und löst in S-Prozeduren bei Subcode1 ungleich null die Fehlerbehandlung aus, wenn ERROR-MECHANISM=*BY-RETURNCODE vereinbart wurde (siehe Kommando SET- bzw. MODIFY-PROCEDURE-OPTIONS).
Im Programm gesetzte Returncodes können nach jeder Anweisung wie Kommando-Returncodes ausgewertet werden (siehe Kommando BEGIN-BLOCK im Handbuch „SDF-P” [34]).