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) oder über Register 1 ansprechbar (siehe Abschnitt „Beispielfür die Nutzung der Programmschnittstelle“).
Maincode
Dieses Feld enthält den genauen Fehler. Es ist in 2 Byte unterteilt. Das rechtsbündige Byte gibt die Fehlerursache an. Es kann folgende Werte annehmen (dezimal dargestellt):
0: | der Aufruf war fehlerfrei |
1: | das Parameterfeld liegt ganz oder teilweise in einem ungültigen Adressraum |
2: | der Parameter darf in dieser Version noch nicht gesetzt werden |
3: | Adress- oder Längenfeld stehen in Widerspruch zum Schlüsselwortfeld |
4: | die Parameterangabe steht in Widerspruch zu einem anderen Parameter |
10: | Puffer zu klein; dieser Fehlercode ist für zukünftige Erweiterungen reserviert |
11: | arithmetischer Parameterwert (z.B. Level-Wert) ungültig |
12: | Parameterwert zu lang oder Verstoß gegen die Syntaxregeln; z.B. FILENAME, PASSWORD |
13: | Angegebenes Schlüsselwort ist für diesen Parameter nicht zulässig |
14: | Pflichtparameter fehlt |
70-255: | diese Fehlercodes haben die gleiche Bedeutung wie die FTAC-Meldungen mit der entsprechenden FTC-Nummer |
Die entsprechenden Equates sind im Makro YFSEQU mit dem Präfix YFS1 definiert.
Das linksbündige Byte wird nur bei Parameterfehler auf einen Wert ungleich 0 gesetzt. Es spezifiziert den fehlerhaften Parameter. Die entsprechenden Equates sind im Makro YFSEQU mit dem Präfix YFS2 definiert.
Subcode1
Die Fehlercodes sind in Fehlerklassen eingeteilt. Diese werden im Subcode1 hinterlegt. Folgende Fehlerklassen werden unterschieden:
Klasse | Wert | Bedeutung |
A | 0 | der Aufruf wurde fehlerfrei beendet |
B | 1 | permanenter Fehler; keine Wiederholung möglich, es wurde ein syntaktischer oder wertmäßiger Parameterfehler festgestellt |
C | 32 | Systemfehler |
D | 64 | Wiederholung nach Korrektur in der Benutzereingabe ist sinnvoll |
E | 128 | Warten und Wiederholen |
Die entsprechenden Equates sind im Makro YFSEQU mit dem Präfix YFSC definiert.
Subcode2
Dieses Feld enthält eine Warnung, wenn der Makroaufruf zwar fehlerfrei beendet wurde (Subcode1 = 0 und Maincode = 0), aber nicht zum gewünschten Ergebnis führte (Beispiel: Beim Aufruf SHWFTPRF konnten keine Profilsätze gefunden werden). Die entsprechenden Equates sind im Makro YFSEQU mit dem Präfix YFSW definiert.
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.
Im Einzelnen können die folgenden Informationen im Makro YFSEQU definiert sein:
* ERROR CODES
*
YFSOK EQU 0 NO ERROR
*
* MAIN CODE VALUES
* PERMANENT ERRORS
* BYTE 1 DEFINES THE ERROR
*
YFS1INVA EQU 1 INVALID ADDRESS OF PARAMETER VALUE
YFS1RES EQU 2 PARAMETER RESERVED FOR FUTURE USE
YFS1INC EQU 3 PARAMETER AND INDICATOR INCONSISTENT
YFS1PINC EQU 4 INCONSISTENCY WITH OTHER PARAMETER
* REPARABLE ERRORS
YFS1BUFS EQU 10 BUFFER TOO SMALL
YFS1RNGE EQU 11 PARAMETER VALUE OUT OF RANGE
YFS1YERR EQU 12 WRONG SYNTAX IN PARAMETER VALUE
YFS1KEYV EQU 13 INVALID KEYWORD VALUE
YFS1MAND EQU 14 MANDATORY PARAMETER MISSING
* SHORTAGE OF RESOURCES
YFS1SHRT EQU 70 SHORTAGE OF RESOURCES
YFS1INAC EQU 71 FTAC NOT ACTIVE
* REPARABLE ERRORS
YFS1PROF EQU 100 PROFILE ALREADY EXISTS
YFS1TAD EQU 101 TRANSFER-ADMISSION ALREADY EXISTS
YFS1FILE EQU 102 FILE-NAME ALREADY EXISTS
YFS1FINV EQU 103 INVALID FILE CONTENT
YFS1PASS EQU 150 USER NOT AUTH. FOR FTAC COMMANDS
YFS1MOD EQU 151 USER NOT AUTH. FOR THIS MODIFIC.
YFS1USER EQU 152 USER NOT AUTH. FOR OTHER USERID'S
YFS1OWNR EQU 153 USER NOT AUTH. FOR OTHER OWNERID'S
YFS1DEL EQU 154 USER NOT AUTH. TO DEL LOGGING RECS
YFS1DIAG EQU 155 USER NOT AUTH. FOR DIAGNOSE
YFS1UPRT EQU 170 GIVEN PARTNERNAME UNKNOWN
YFS1UPRF EQU 171 GIVEN PROFILENAME UNKNOWN
YFS1IUAD EQU 172 INVALID USER-ADMISSION
YFS1IPAD EQU 173 INVALID PROCESSING-ADMISSION
YFS1IMUS EQU 174 INVALID MODIF. FOR NOT UNIQUE SELECTION
YFS1ISTD EQU 175 MODIFICATION INVALID FOR *STD
YFS1IUID EQU 176 GIVEN USERID UNKNOWN
YFS1UFIL EQU 177 FILENAME UNKNOWN
YFS1PANU EQU 178 GIVEN PARTNERNAME NOT UNIQUE
YFS1PAVI EQU 179 VIOLATION OF MAX. NUMBER OF PARTNER
YFS1USNU EQU 180 GIVEN USER IDENTIFICATION NOT UNIQUE
YFS1PRNU EQU 181 GIVEN PROFILE NAME NOT UNIQUE
YFS1LENP EQU 200 SUCCESS AND FAILURE PROC TOO LONG
YFS1PFLO EQU 206 PARTIALLY QUALIFIED FILENAME TOO LONG
* SYSTEM ERROR
YFS1SERR EQU 255 SYSTEM ERROR
*
* BYTE2 DEFINES THE ERRONEOUS PARAMETER
*
YFS2PAR EQU 1 INVALID ADDRESS OF PARAMETER LIST
YFS2NAME EQU 2 NAME
YFS2NNAM EQU 3 NEWNAME
YFS2OWN EQU 4 OWNER
YFS2USER EQU 5 USER
YFS2SEL EQU 6 SELECT
YFS2PASS EQU 7 PASSWORD
YFS2NPA EQU 8 NEW PASSWORD
YFS2TAD EQU 9 TRANSFER ADMISSION
YFS2NTAD EQU 10 NEW TRANSFER ADMISSION
YFS2MOSN EQU 11 MAX LEVEL OUTBOUND-SEND
YFS2MORC EQU 12 MAX LEVEL OUTBOUND-RECEIVE
YFS2MISN EQU 13 MAX LEVEL INBOUND-SEND
YFS2MIRC EQU 14 MAX LEVEL INBOUND-RECEIVE
YFS2MIPR EQU 15 MAX LEVEL INBOUND-PROCESSING
YFS2MIMA EQU 16 MAX LEVEL INBOUND-MANAGEMENT
YFS2ILV EQU 21 IGNORE MAX LEVEL
YFS2IOSN EQU 22 IGNORE MAX LEVEL OUTBOUND-SEND
YFS2IORC EQU 23 IGNORE MAX LEVEL OUTBOUND-RECEIVE
YFS2IISN EQU 24 IGNORE MAX LEVEL INBOUND-SEND
YFS2IIRC EQU 25 IGNORE MAX LEVEL INBOUND-RECEIVE
YFS2IIPR EQU 26 IGNORE MAX LEVEL INBOUND-PROCESSING
YFS2IIMA EQU 27 IGNORE MAX LEVEL INBOUND-MANAGEMENT
YFS2MPLV EQU 32 MAX PARTNER LEVEL
YFS2PART EQU 33 PARTNER NAME
YFS2UAD EQU 34 USER ADMISSION
YFS2UUS EQU 35 USERID
YFS2UAC EQU 36 ACCOUNT NUMBER
YFS2UPA EQU 37 USER PASSWORD
YFS2PAD EQU 38 PROCESSING ADMISSION
YFS2PUS EQU 39 USERID
YFS2PAC EQU 40 ACCOUNT NUMBER
YFS2PPA EQU 41 PASSWORD
YFS2FIL EQU 42 FILENAME
YFS2PFIL EQU 43 PREFIX OF FILENAME
YFS2LIB EQU 44 LIBRARY NAME
YFS2PLIB EQU 45 PREFIX OF LIBRARY NAME
YFS2EL EQU 46 ELEMENT NAME
YFS2PEL EQU 47 PREFIX OF ELEMENT NAME
YFS2EV EQU 48 ELEMENT VERSION
YFS2ETY EQU 49 ELEMENT TYPE
YFS2FPA EQU 50 FILE PASSWORD
YFS2SUC EQU 51 SUCCESS PROCESSING
YFS2PSUC EQU 52 PREFIX OF SUCCESS PROCESSING
YFS2FAI EQU 53 FAILURE PROCESSING
YFS2PFAI EQU 54 PREFIX OF FAILURE PROCESSING
YFS2PRIV EQU 55 PRIVILEGED
YFS2INIT EQU 56 TRANSFER INITIATOR
YFS2TDIR EQU 57 TRANSFER DIRECTION
YFS2WMOD EQU 58 WRITE MODE
YFS2INFO EQU 59 INFORMATION
YFS2OUTP EQU 60 OUTPUT
YFS2BUF EQU 61 BUFFER
YFS2RES EQU 64 RESERVED
YFS2DATE EQU 65 DATE
YFS2FTFU EQU 66 FT-FUNCTION
YFS2ADMS EQU 67 ADMISSION SET
YFS2XSUC EQU 68 SUFFIX OF SUCCESS PROCESSING
YFS2XFAI EQU 69 SUFFIX OF FAILURE PROCESSING
YFS2USAG EQU 70 USAGE
YFS2VALI EQU 71 VALID
YFS2TEXT EQU 72 TEXT
YFS2CHIP EQU 73 CHIP
YFS2DENC EQU 74 DENC
*
* SUBCODE1 DEFINES THE ERROR CLASS
*
YFSCOK EQU 0 NO ERROR
YFSCPERR EQU 1 PERMANENT ERROR
YFSCSERR EQU 32 SYSTEM ERROR
YFSCRERR EQU 64 REPARABLE ERROR
YFSCSHRT EQU 128 SHORTAGE OF RESOURCES
*
* SUBCODE2 DEFINES THE WARNINGS
*
YFSWLLEV EQU 50 LOWER ADM-LEVEL REMAINS IN EFFECT
YFSWWARN EQU 51 TRANSFER-ADMISSION EXISTS AS USERID
YFSWINFI EQU 52 INFORMATION INCOMPLETE
YFSWNPRF EQU 53 NO PROFILE FOUND
YFSWNINF EQU 54 NO INFORMATION AVAILABLE
YFSWPANR EQU 55 PARTNER RESTRICT. DOES NOT LONGER EXIST
YFSWTADL EQU 56 TRANSFER ADMISSION LOCKED
*
FHDR MF=(C,&P),EQUATES=ONLY
