VSAM Return Codes |
02 - DUPLICATE KEY, NON UNIQUE ALT INDEX
04 - READ, WRONG LENGTH RECORD
05 - OPEN, FILE NOT PRESENT
10 - END OF FILE
20 - INVALID KEY VSAM KSDS OR RRDS
21 - SEQUENCE ERROR, ON WRITE OR CHANGING KEY ON REWRITE
22 - DUPLICATE KEY
23 - RECORD NOT FOUND - (when we are trying to access a record with key)
or
FILE NOT FOUND
35 - OPEN, FILE NOT PRESENT
When we will use this code in our program?
There are situations where file should be read if exists, write if it does not
when you dont know whether file exists are not , first you will open
file in I-O mode and check status code. if it is 35 then open that
file for output file. other wise you will continue with your logic
41 - OPEN, FILE IS OPEN
42 - CLOSE, FILE IS CLOSED
43 - DELETE OR REWRITE & NO GOOD READ FIRST
46 - SEQUENTIAL READ WITHOUT POSITIONING
47 - READING FILE NOT OPEN AS INPUT/IO/EXTEND
48 - WRITE WITHOUT OPEN IN IO MODE
49 - DELETE OR REWRITE WITHOUT OPEN IN IO MODE
92 - LOGIC ERROR/OPENING AN OPEN FILE
OR READING OUTPUT FILE
OR WRITE INPUT FILE
OR DEL/REW BUT NO PRIOR READ
94 - SEQUENTIAL READ AFTER END OF FILE
OR NO CURRENT REC POINTER FOR SEQ
96 - MISSING DD STATEMENT IN JCL
97 - OPEN OK, FILE INTEGRITY VERIFIED
When we will use this in our programs?
We use this code whenever we open the file, if status code is 00 or 97
we will proceed with our logic, other wise, call error routine.
Usaully, it may come when file was not closed.
for example
IF WS-FILE-STATUS NOT = '00' AND '97'
PERFORM ERROR-ROUTINE
END-IF.