Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Format der Returncodes

&pagelevel(5)&pagelevel

Jeder Returncode besteht aus einem Subcode2, einem Subcode1 und dem Maincode. Das Feld für den Returncode hat folgendes Format:

Das Feld mit dem Returncode ist nach einem Makro-Aufruf mittels DSECT (Feld xxxRETC, abgesetzt durch Makro FHDR) ansprechbar.


Subcode1

Die Fehlercodes sind in Fehlerklassen eingeteilt. Diese werden im Subcode1 hinterlegt. Folgende Fehlerklassen werden unterschieden (dezimal dargestellt):

Wert
(dezimal)

Bedeutung

0

Kein Fehler.
Der Aufruf wurde fehlerfrei beendet.

1

Syntaktischer Fehler.
Keine Wiederholung möglich, es wurde ein syntaktischer oder wertmäßiger Parameterfehler festgestellt.

32

Systemfehler.
Während der Bearbeitung des Aufrufs ist ein interner Fehler aufgetreten.

64

Permanenter Fehler.
Wiederholung nach Korrektur in der Benutzereingabe ist sinnvoll.

128

Vorübergehender Fehler.
Warten und Wiederholen.

Die entsprechenden Equates sind im Makro YNDEQU mit dem Präfix YNDC definiert.


Subcode2

Subcode2 enthält Zusatzinformationen zu Subcode1 oder ist gleich Null.


Maincode

Dieses Feld enthält den genauen Fehler. Es ist in 2 Byte unterteilt.

  • Wenn Subcode1 den Wert 1 hat (Syntaxfehler, siehe oben), dann gibt das rechtsbündige Byte (Byte 1) des Maincode die Fehlerursache und das linksbündige Byte (Byte 2) den Parameter an. Das rechtsbündige Byte kann folgende Werte annehmen:

    Wert von Byte 1
    (dezimal)

    Bedeutung
    (wenn Subcode1 den Wert 1 hat)

    permanente Fehler

    1

    das Parameterfeld liegt ganz oder teilweise in einem ungültigen Adressraum

    2

    Adress- oder Längenfeld stehen in Widerspruch zum Schlüsselwortfeld

    3

    Parameterangabe steht in Widerspruch zu einem anderen Parameter

    4

    Parameterwert zu lang oder Verstoß gegen die Syntaxregeln;
    zum Beispiel FILENAME, PASSWORD

    behebbare Fehler

    10

    Puffer zu klein; dieser Fehlercode ist für zukünftige Erweiterungen reserviert

    11

    arithmetischer Parameterwert (zum Beispiel RECSIZE-Wert) ungültig

    12

    Angegebenes Schlüsselwort ist für diesen Parameter nicht zulässig

    13

    Pflichtparameter fehlt

    Die entsprechenden Equates für Byte 1 sind im Makro YNDEQU mit dem Präfix YND1 definiert.

    Die entsprechenden Equates für Byte 2 sind im Makro YNDEQU mit dem Präfix YND2 definiert.

  • Besitzt Subcode1 den Wert 32, 64 oder 128 (dezimal), dann enthält der Maincode die Meldungsnummer als Resultat des Aufrufs, siehe auch Tabelle auf "Returncodes für NCOPY, NDEL, NLMOD, NLSHOW, NMOD und NSHOW".

Beispiele

  • Bei einem syntaktisch falschen Partnernamen ist der Subcode1 X‘01‘ und der Maincode X‘0204‘.

  • Bei einem Verstoß gegen die ferne Zugangsberechtigung ist der Subcode1 X‘40‘ und der Maincode X‘879‘.

Ausnahme

Enthält der Maincode den Wert X’FFFF’, so konnte der Auftrag aus systemweit eindeutig geregelten Gründen nicht ausgeführt werden. Die für diesen Fall gültigen Equates für Maincode, Subcode1 und Subcode2 sind im Makro FHDR definiert, der den Standardheader absetzt.

In den folgenden Tabellen sind Subcode2 (SC2), Subcode1 (SC1) und Maincode (MC) sedezimal angegeben. Für SC1 =X’20’, X’40’ und X’80’ stimmt MC mit der Meldungsnummer der FTR-Meldung (dezimal) überein.