JCL Abend-Code
S0CB - Versuch, durch 0 zu dividieren und ON nicht zu verwenden
GRÖSSENFEHLER
S002 - Sehr große Datensatzlänge / falsche Datensatzlänge
Sx22 - Der Job wurde abgesagt. Der Wert von x wird
variieren je nachdem, wie der Job war
cancelled. S222 means job was cancelled by a
Benutzer oder Operator ohne Dump.
Wenn eine TSO-Sitzung abläuft, werden Sie
Wahrscheinlich einen S522-Abendcode erhalten.
S222 - Der Job wurde abgebrochen (vom Subsystem
oder Operator) weil er verletzt hat
einige Einschränkungen
S522 - JOB oder TSO-Sitzung überschritten
maximale Wartezeit für Jobs ODER
Der Betreiber hat die erforderliche nicht montiert.
Bänder innerhalb der erlaubten Zeitgrenze
S806 - Modul zum Laden nicht gefunden
S837 - Platzproblem, der zugewiesene Platz reicht nicht aus
für Datensatz
S913 - Sie versuchen auf einen Datensatz zuzugreifen, den Sie
sind nicht berechtigt zu verwenden.
SOC7 - 1. Nicht-numerischen Wert in numerisches Feld verschieben
2. Die numerischen Variablen nicht initialisieren
vor der ersten Verwendung
SOC4 - 1. Der Index überschreitet die Größe der Tabelle
2. Versuchen, Variablen aus dem Dateiabschnitt zu verwenden
ohne die Datei zu öffnen
S0C1 - Betriebsfehler. Überprüfen Sie den Subscript
errors, missing DD card, file not opened.
SE37 - Unzureichender Speicherplatz.
U1026 - COBOL-Sortierung fehlgeschlagen.
U1056 - Das Programm hat eine Datei vor dem Beenden nicht geschlossen
Db2-Abendcode
DB2
+100 -> Ende des Cursors
-180 -> Die Stringdarstellung von DATUM, UHRZEIT, TIMESTAMP ist ungültig
-204 -> Objekt nicht für DB2 definiert
-205 -> Spaltenname nicht in der angegebenen DB22-Tabelle
-206 -> Spalte existiert in keiner Tabelle im SELECT
-551 -> Nicht berechtigt, auf DB2 zuzugreifen
-803 -> Einzigartiger Indexverletzung. Versuch, einen doppelten Datensatz einzufügen.
-805 -> DBRM oder PACKAGE nicht in PLAAN gefunden
-811 -> Cursor should be used , when morre than one row returned as an
result
einer Singleton SELECT-Abfrage
-818 -> Zeitstempel-Unstimmigkeit zwischen Plan und Lade-Modul
WICHTIGE FRAGEN ZU FEHLERCODES
F. Was ist der Fehlercode für das Ende des Datensatzes / Datensatz nicht gefunden in DB2?
A. 100
Q. Wie werden Sie dann feststellen, ob der Fehler am Ende des Datensatzes liegt oder ob es sich um einen ungültigen Datensatz handelt?
gefunden?
A. Wenn wir eine SELECT-Anweisung verwenden, steht der SQL-Fehlercode 100 für einen Datensatz
nicht gefunden
Wenn wir einen Cursor verwenden, tritt in dieser Situation der SQL-Fehlercode 100 auf.
stellt das Ende der Aufzeichnungen dar
CICS-Abendcode
CICS
ASRA - Dieser Abend trat aufgrund ungültiger nicht numerischer Daten auf.
AICA - Eine wiederholende Aufgabe wurde mit diesem Abbruch beendet
Code von CICS, weil er ohne Angabe ausgeführt wurde
die Kontrolle länger als den angegebenen Zeitraum
das ICVR-Schlüsselwort in der CICS SIT.
AEY9 - Ungültiger EXEC CICS-Befehl ausgegeben
AE** - Most of the abends starts with AE, occures because
Sie werden im CICS-Programm nicht bearbeitet.
RESP BESCHAFFENHEIT ABEND
VALUE
00 NORMAL
01 FEHLER
02 RDATT
03 WRBRK
04 EOF
05 EODS
06 EOC
07 INBFMH
08 ENDINPT
09 NONVAL
10 NOSTART
11 TERMIDERR AEIK
12 DATEINICHTUNG NICHT GEFUNDEN AEIL
13 NICHT GEFUNDEN AEIM
14 DUPREC AEIN
15 DUPKEY
16 INVREQ AEIP
17 E/A-Fehler AEIQ
18 KEIN RAUM AEIR
19 NICHTÖFFNEN
20 ENDFILE
21 ILLOGIK AEIU
22 LENGERR AEIV
23 QZERO
24 SIGNAL
25 QBUSY
26 ARTIKELFEHLER
27 PGMIDERR AEIO
28 TRANSIDERR AEI1
29 ENDDATA
30 INVTSREQ
31 ABGELAUFEN
32 RETPAGE
33 RTEFAIL
34 RTESOME
35 TSIOERR
36 KARTENFEHLER
37 INVERRTERM
38 INVMPSZ
39 IGREQID
40 ÜBERLAUF
41 INVLDC
42 NOSTG
43 JIDERR AEYG
44 QIDERR AEYH
45 NOJBUFSP
46 DSSTAT
47 SELNERR
48 FUNCERR
49 ENTPINNEN
50 NOPASSBKRD
51 NOPASSBKWR
52 -
53 SYSIDFEHLER AEYQ
54 ISCINVREQ
55 ANFRAGEBELEGT
56 ENVDEFERR
57 IGREQCD
58 SITZUNGSFEHLER
59 SYSBUSY
60 SESSBUSY
61 NICHT ZUGEWIESEN
62 CBIDERR
63 INVEXITREQ
64 INVPARTNSET
65 INVPARTN
66 PARTNFAIL
67 -
68 -
69 BENUTZERIDFEHLER AEYX
70 NICHTAUTORISIERT AEY7
71 VOLIDERR AEXV
72 Unterdrückt
73 -
74 -
75 RESIDERR
76 -
77 -
78 -
79 -
80 NOSPOOL
81 TERMERR
82 ROLLBACK
83 ENDE AEXK
84 DISABLED
85 ALLOCERR
86 STRELERR
87 ÖFFNENFEHLER
88 SPOLBUSY
89 SPOLERR
90 KNOTENIDFEHLER
91 AUFGABENIDFEHLER AEXX
92 TCIDERR AEXO
93 DSNNICHT GEFUNDEN AEX1
94 LADEN
95 MODELLIDFEHLER AEX3
96 OUTDESCRERR
97 PARTNERIDERR AEX5
98 PROFILIDFEHLER AEX6
99 NETNAMEIDFEHLER
255 NICHT MÖGLICH
Vsam Abendcode
VSAM
00 - ERFOLGREICHE ABSCHLUSS
02 - DOPPELTES SCHLÜSSEL, NICHT EINGEDEUTETER ALTINDEX
04 - LESEN, FALSCH LANGE AUFZEICHNUNG
05 - OFFEN, DATEI NICHT VORHANDEN
10 - ENDE DER DATEI
20 - UNGÜLTIGER SCHLÜSSEL VSAM KSDS ODER RRDS
21 - SEQUENZFEHLER, BEIM SCHREIBEN ODER ÄNDERN DES SCHLÜSSELS BEIM NEUSCHREIBEN
22 - DOPPELT SCHLÜSSEL
23 - AUFZEICHNUNG NICHT GEFUNDEN - (wenn wir versuchen, auf einen Datensatz zuzugreifen mit
key)
oder
DATEI NICHT GEFUNDEN
35 - OFFEN, DATEI NICHT VORHANDEN
Wann werden wir diesen Code in unserem Programm verwenden?
Es gibt Situationen, in denen eine Datei gelesen werden sollte, wenn sie existiert, und geschrieben werden sollte.
wenn es nicht
Wenn Sie nicht wissen, ob die Datei existiert oder nicht, werden Sie zuerst
öffnen
Datei im I-O-Modus öffnen und den Statuscode überprüfen. Wenn er 35 ist, dann öffnen.
that
file for output file. other wise you will continue with your
Logik
41 - GEÖFFNET, DATEI IST OFFEN
42 - SCHLIESSEN, DATEI IST GESCHLOSSEN
43 - LÖSCHEN ODER UMFORMULIEREN & KEINE GUTE LESEN ZUERST
46 - SEQUENZIELLES LESEN OHNE POSITIONIERUNG
47 - LESENDE DATEI NICHT ALS EINGABE / IO / ERWEITERN GEÖFFNET
48 - SCHREIBEN OHNE IM IO-MODUS ZU ÖFFNEN
49 - LÖSCHEN ODER UMFORMULIEREN OHNE IM IO-MODUS ZU ÖFFNEN
92 - LOGIKFEHLER/ÖFFNUNG EINER OFFENEN DATEI
ODER AUSGABE DATEI LESEN
ODER EINGABEDATEI SCHREIBEN
ODER DEL/NEU ABER KEIN VORHERIGES LESEN
94 - SEQUENZIELLES LESEN NACH DATEIENDE
ODER KEINEN AKTUELLEN REC-ZEIGER FÜR SEQ
96 - FEHLENDE DD-AUSSAGE IM JCL
97 - OFFEN OK, DATEI-Integrität ÜBERPRÜFT
Wann werden wir dies in unseren Programmen verwenden?
Wir verwenden diesen Code immer, wenn wir die Datei öffnen, wenn der Statuscode 00 ist
oder 97
Wir werden mit unserer Logik fortfahren, andernfalls rufen Sie die Fehlerroutine auf.
In der Regel kann es auftreten, wenn die Datei nicht geschlossen wurde.
zum Beispiel
WENN WS-FILE-STATUS NICHT = '00' UND '97'
FEHLER-PROCEDURE AUSFÜHREN
ENDE-WENN.
Ims abend code
IMS
U0778 - Ein ROLL-Aufruf wurde von einem Benutzeranwendungsprogramm ausgegeben, oder ein
Fehler während des Datenbank-Rücksetzungsdienstprogramms in einer anderen Region
führte zu
Alle Regionen werden aufgrund einer intern ausgestellten Kündigung beendet.
ROLL-call.
U0456 - WENN PSB NICHT VERFÜGBAR IST
(NICHT LAUFEND/JEMANDEN BENUTZT)
WAS SOLLTEN WIR TUN?
STARTEN SIE PSB AUS DER REGION, IN DER SIE AUFGEFÜHRT SIND SIE LAUFEN
BEFEHL - /start PGM <PSB>
HINWEIS - Bitte überprüfen Sie, ob PSB läuft, bevor Sie den Befehl ausführen, indem Sie
folgender Befehl
/dis PGM <PSB>
Wenn psb nicht läuft, dann nur den oben genannten /start-Befehl ausführen.
Wenn jemand die PSB verwendet und Sie diese Transaktion stoppen möchten.
Verwenden Sie den folgenden Befehl, um zu stoppen
command
/stop PGB <PSB>
------------
Statuscodes
------------
GE - Ende des Segments
AC - Ungültige SSA
Ungültiger Segmentname, der in SSA angegeben wurde
Der Segmentname befindet sich in der DB PCB, aber die SSA, die angibt
dieses Segment
Der Name befindet sich nicht in seiner korrekten hierarchischen Reihenfolge.
AD - Problem in der PCB-Auflistung im Programm (Verknüpfungsbereich)
AK - Ungültige SSA
* Ungültiger Feldname in SSA ( Der im SSA angegebene Schlüssel ist falsch )