VSAM Return codes, Reasons and Solutions

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.

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.