The complete list of VSAM return codes, reasons and solutions at one place. This is a complete magic filled list. You can refer all solutions at one place and save your precious time.
VSAM return codes
004(04) – Read past end of file
008(08) – You attempted to store a record with a Duplicate Key, or there is a duplicate record for an alternate index with the unique key option.
012(0C) – You attempted to store a record out of Ascending Key Sequence in Skip-Sequential Mode; record had a Duplicate Key; for Skip-Sequential processing your GET, PUT, and POINT Requests are not referencing records in Ascending sequence; or, for Skip-Sequential Retrieval, the key requested is lower than the previous key requested. For Shared Resources, buffer pool is full.
016(10) – Record not found.
020(14) – Record already held in exclusive control by another requester.
024(18) – Record resides on a volume that cannot be mounted.
028(1C) – Data set cannot be extended because VSAM can’t allocate additional Direct-Access Storage Space. Either there is not enough space left to make the secondary allocation or you attempted to increase the size of a data set while processing SHROPT=4 and DISP=SHR.
036(24) – Key Ranges were specified for the data set when it was defined but no range was specified that includes the record to be inserted.
040(28) – Insufficient Virtual Storage to complete the request.
044(2A) – Work area too small.
064(40) – All available strings are in use.
068(44) – You attempted to use a type of processing (Output or Control-Interval Processing) that was not specified when the data set was opened.
074(4A) – Trying to use keys on ESDS or RRDS.
076(4C) – You issued an Addressed or Control-Interval PUT to add to a Key-Sequenced data set, or issued a Control-Interval put to a Relative Record data set.
080(50) – Trying to delete from ESDS.
084(54) – Using OPTCODE=LOC for a PUT.
088(58) – You issued a Sequential GET request without having caused VSAM to be positioned for it, or you changed from Addressed Access to Keyed Access without causing VSAM to be positioned for Keyed-Sequential Retrieval; there was no Sequential PUT insert for a Relative Record data set, or you attempted an illegal switch between forward and backward processing.
92(5C) – A PUT for update or an ERASE was issued without a previous GET for update, or a PUTIX was issued without a previous GETIX.
96(60) – Changing the Prime Key or Key of Reference when making an update.
100(64) – Trying to change record length.
104(68) – The RPL options are either invalid or conflicting.
108(6C) – RECLEN specified was larger than the maximum allowed, equal to, or smaller than the sum of the length and the displacement of the key field; RECLEN was not equal to record (SLOT) size specified for a Relative Record data set.
112(70) – Invalid key length.
116(74) -Trying to update an empty dataset.
120(78) – Request was submitted by the wrong task.
132(84) – An attempt was made in Locate Mode to retrieve a Spanned Record.
136(88) – You attempted an Addressed GET of a Spanned record in a Key-sequenced data set.
140(8C) – Inconsistent Spanned record.
144(90) – Invalid pointer (no associated base record) in an Alternate Index.
148(94) – Maximum number of Alternate Index pointers exceeded.
152(98) – Not enough buffers available.
156(9C) – Invalid control interval.
192(C0) – Invalid Relative Record number in a RRDS dataset.
196(C4) – Addressed access to a Relative Record (RRDS) dataset is not allowed.
200(C8) – Addressed Access or Generic Backward processing by Key thru a path is not allowed.
204(CC) – Attempting a PUT in backward mode.
252(FC) -Record mode processing is not allowed for a Linear data set.
VSAM Open error codes
136(88) – Not enough Virtual-Storage Space is available for Work Areas, Control Blocks, or Buffers.
144(90) – An uncorrectable I/O error occurred while VSAM was Reading or Writing a catalog record.
148(94) – No record for the data set to be opened was found in the available catalog(s) or an unidentified error occurred while VSAM was searching the catalog.
152(98) – Security Verification failed; the password specified in the Access-Method Control Block for a specified level of access does not match the password in the catalog for that level of access.
164(A4) – An uncorrectable I/O error occurred while VSAM was Reading the Volume Label.
168(A8) – The data set is not available for the type of processing you specify, or an attempt was made to open a Reusable data set with the Reset option while another user had the data set.
176(B0) – An error occurred while VSAM was attempting to fix a page of Virtual storage in Real storage.
180(B4) – A VSAM catalog specified in JCL either does not exist or is not open, and no record for the data set to be opened was found in any other catalog.
184(B8) – An uncorrectable I/O error occurred while VSAM was completing an I/O request.
188(BC) – The data set indicated by the Access-Method Control Block is not of the type that may be specified by an Access-Method Control Block.
192(C0) – An unusable data set was opened for output.
232(E8) – Reset was specified for a nonreusable data set and the data set is not empty.
236(EC) – A permanent Staging error occurred in MSS (Acquire).
244(F4) – The Volume containing the Catalog Recovery area was not mounted and verified for output processing.