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.

More : The complete COBOL file status codes, simplified

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.