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