z/OS DFSMStvs Administration Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Logical-error return codes

z/OS DFSMStvs Administration Guide
GC52-1388-00

When a logical-error-analysis exit routine (LERAD) is provided, it gets control for logical errors, and register 15 does not contain 8, but contains the entry address of the LERAD routine.

Table 1 gives the contents of the registers when VSAM exits to the LERAD routine.

Table 1. Contents of registers when a LERAD routine gets control. Contents of registers when a LERAD routine gets control
Register Contents
0 Unpredictable.
1 Address of the request parameter list that contains the feedback field the routine should examine. The register must contain this address if the exit routine returns to VSAM.
2-13 Same as when the request macro was issued. Register 13, by convention, contains the address of the processing program's 72-byte save area, which must not be used as a save area by the LERAD routine if the routine returns control to VSAM.
14 Return address to VSAM.
15 Entry address to the LERAD routine. The register does not contain the logical-error indicator.

If a logical error occurs and a LERAD exit routine is not provided (or the LERAD exit is inactive), VSAM returns control to the processing program following the last executed instruction. Register 15 indicates a logical error (8), and the feedback field in the request parameter list contains a code identifying the error. Register 1 points to the request parameter list.

See z/OS DFSMS Installation Exits for additional information on the LERAD exit routine.

Table 2 gives the logical-error return codes in the feedback field and explains what each means.

Table 2. Logical-error reason codes found in the RPL feedback field when R15=8 and LERAD is not active.. Logical-error reason codes found in the RPL feedback field when R15=8 and LERAD is not active.
RPLERRCD code Symbol Condition
4(X'04') RPLEODER End of data set encountered (during sequential retrieval). Either no EODAD routine is provided, or one is provided and it returned to VSAM and the processing program issued another GET.
8(X'08') RPLDUP Attempt was made to store a record with a duplicate key.
12(X'0C') RPLSEQCK Attempt was made to store a record out of ascending key sequence; record may also have a duplicate key.
16(X'10') RPLNOREC Record not found.
20(X'14') RPLEXCL
  • For MACRF=RLS, this code means that there was an intra-LUDWID exclusive control conflict.
  • For non-RLS, the record is already held in exclusive control by another requester.
21(X'15')   For MACRF=RLS, the request was rejected due to deadlock; the deadlock was resolved by rejecting this request.
22(X'16')   For MACRF=RLS, the request was rejected due to timeout. The request was presumed to be an inter resource manager deadlock.
24(X'18') RPLNOMNT
  • For MACRF=RLS, lock request rejected because the lock is held by a failed sybsystem.
  • For non RLS, the record resides on a volume that cannot be mounted.
28(X'1C') RPLNOEXT Data set cannot be extended because VSAM cannot allocate additional direct-access storage space. Either there is not enough space left in the data space for the secondary-allocation request or an attempt was made to increase the size of a data set by splitting the control area (high used RBA change) during processing with SHROPT=4 and DISP=SHR.
32(X'20') RPLINRBA

An RBA was specified that does not give the address of any data
record in the data set.
This error will be returned by register 10 and register 8
if the RBA provided addresses a relative CI greater than 4GB.

36(X'24') RPLNOKR Key ranges were specified for the data set when it was defined, but no range was specified that includes the record to be inserted.
40(X'28') RPLNOVRT Insufficient virtual storage in the address space to complete the request. Or there is insufficient storage available to add another string dynamically. For DFSMStvs, this indicates that DFSMStvs was unable to expand the pool for its context or unit of recovery-related control blocks.
44(X'2C') RPLINBUF Work area not large enough for the data record (GET with OPTCD=MVE).
48(X'30') RPLINTRM Invalid options, data set attributes, or processing conditions specified for TERMRPL request:
  • CNV processing
  • The specified RPL is asynchronous
  • Chained RPLs
  • PATH processing
  • Shared resources (LSR/GSR)
  • Create mode
  • RRDS
  • Data set contains spanned records
  • User not in Key 0 and supervisor state
  • EOV in process (secondary allocation).
52(X'34') RPLPTERM The previous request was TERMRPL.
56(X'38') RPLCTERR
  • For MACRF=RLS, RPL reuse violation. The RPL request contained positioning information from a previous request and the ACB or LUDWID specified in the RPL did not match the previous ACB or LUDWID.
  • For non RLS, error from catalog update at the beginning of a CI/CA split for a backup while opening a data set.
60(X'3C') RPLCTERR Available for RLS and DFSMStvs use.
64(X'40') RPLNOPLH
  • For RLS and DFSMStvs, the limit of 1024 outstanding requests for this ACB has been exceeded.
  • As many requests are active as the number specified in the STRNO parameter of the ACB macro; therefore, another request cannot be activated.
  • Or there is insufficient storage available to add another string dynamically.
68(X'44') RPLINACC Attempt was made to use a type of processing (output or control-interval processing) that was not specified when the data set was opened.
72(X'48') RPLINKEY
  • For RLS and DFSMStvs, add GETIX or PUTIX to any data set organization.
  • For non-RLS or DFSMStvs, one of the following items might apply:
    • Keyed GET request for an ESDS
    • GETIX or PUTIX to ESDS
    • Fixed length RRDS
76(X'4C') RPLINADR
  • An ADR or CI PUT was issued to add a record to a KSDS or VRRDS
  • Or a CI PUT was issued to a fixed length RRDS.
80(X'50') RPLERSER An ERASE request was issued for access to an ESDS or CI.
84(X'54') RPLINLOC
  • OPTCD=LOC was specified for a PUT request or in the previous request parameter list, in a chain of parameter lists.
  • LOC not supported (RLS only)
88(X'58') RPLNOPTR A sequential GET or PUT request was issued without VSAM having been positioned for it, or a change was made from addressed access to keyed access without VSAM having been positioned for keyed sequential retrieval, or an illegal switch between forward and backward processing was attempted.
92(X'5C') RPLINUPD A PUT, ERASE, or IDALKCD was issued without a previous GET for UPDATE. Or a PUTIX was issued without a previous GETIX.
96(X'60') RPLKEYCH
  • For RLS and DFSMStvs, a PUT NUP attempt was made to change the key specified by a previous IDALKADD request.
  • For non-RLS or DFSMStvs, an attempt was made to change the prime key or the reference key during an update.
100(X'64') RPLDLCER Attempt was made to change the length of a record during an addressed update.
104(X'68') RPLINVP The RPL options are either invalid or conflicting in one of the following ways:
  • SKP was specified and either KEY was not specified or BWD was specified.

    XRBA was not specified in the RPL OPTCD when a GET DIR or POINT REQUEST was issued in ADR|CNV mode with LRD=OFF and PLARG points to a non-zero argument (RBA), during the processing of an EA data set.

  • BWD was specified for CNV processing.
  • FWD and LRD were specified.
  • Neither ADR, CNV, nor KEY was specified in the RPL.
  • BFRNO is invalid (less than 1 or greater than the number of buffers in the pool).
  • WRTBFR, MRKBFR, or SCHBFR was issued, but either TRANSID was greater than 31 or a shared-resources option was not specified.
  • ICI processing was specified, but a request other than a GET or a PUT was issued. CNV processing for a compressed data set was specified. Only VERIFY and VERIFY REFRESH are allowed.
For RLS and DFSMStvs only,
  • IDARECOV, IDALKREL, IDAINQRC, IDARETLK, or IDAQUIES issued and ACB is not an RLS Control ACB.
  • A Record Management GET or PUT was issued against an RLS Control ACB.
  • No LUWID specified for IDALKREL, IDARETLK, or IDALKCD.
  • SUBSYSNM was specified in ACB at OPEN, but GET, IDALKADD, PUT, POINT, or ERASE specified LUWID=0.
  • RLS options (LUWID, read integrity options, cold start) are not supported for NSR/GSR/LSR access.
  • CNV access specified for RLS access or an extended function data set.
  • ADR access to KSDS for RLS.
  • Invalid record management request issued against a control ACB.
  • Non-commit protocol application specified:
    • CRE on POINT or GET NUP
    • KL on GET UPD to a recoverable sphere
  • Invalid RLS request: LSR or MSS request macros, GETIX, or PUTIX.
  • IDAEADD is invalid for KSDS, RRDS, or VRRDS.
108(X'6C') RPLINLEN RECLEN specified was larger than the maximum allowed, equal to 0, smaller than the sum of the length and the displacement of the key field, or not equal to record (slot) length specified for a relative record data set.
112(X'70') RPLKEYLC KEYLEN specified was too large or equal to 0.
116(X'74') RPLINLRQ
  • Available for RLS and DFSMStvs.
  • For non RLS, invalid request during load mode. A GET, POINT, ERASE, direct PUT, skip sequential PUT, or PUT with OPTCD=UPD not permitted during initial data set loading (that is, for storing records in the data set the first time it is opened).
120(X'78') RPLINTCB
  • Current job step TCB is not correct one.
  • For RLS, request issued in cross-memory mode.
124(X'7C') RPLUEXCL
  • Available for RLS and DFSMStvs.
  • For an application that does not use RLS or DFSMStvs, a request was canceled from a user JRNAD exit.
128(X'80') RPLIXHHP Index is invalid, request cannot be completed.
132(X'84') RPLSRLOC
  • Available for RLS and DFSMStvs.
  • For an application that does not use RLS or DFSMStvs, an attempt was made in locate mode to retrieve a spanned record.
136(X'88') RPLARSRK
  • Available for RLS and DFSMStvs.
  • For an application that does not use RLS or DFSMStvs, an addressed GET was issued for a spanned record in a key-sequenced data set.
140(X'8C') RPLSRISG Inconsistent spanned-record segments.
144(X'90') RPLNBRCD Invalid pointer in an alternate index (no associated base record).
148(X'94') RPLNXPTR The maximum number of pointers in the alternate index has been exceeded.
152(X'98') RPLNOBFR
  • For LSR, RLS, and DFSMStvs, not enough buffers are available to process the request.
  • For RLS and DFSMStvs, the dataspace buffer pool was exhausted.
156(X'9C') RPLINCNV An invalid control interval was detected during keyed processing. The possible invalid conditions are:
  1. A key is not greater than the previous key.
  2. A key is not in the current control interval.
  3. A spanned record RDF is encountered.
  4. A freespace pointer is invalid.
  5. The number of records does not match a group RDF record count.
160(X'A0') RPLBMWER A request was issued to invalidate a modified buffer. For RLS, the required quiesce exit does not exist.
161(X'A1') RPLQCLRJ QUICLOSE request is rejected because the sphere is already marked quiesced.
162(X'A2') RPLQUIRJ The quiesce status of the sphere means this IDAQUIES request cannot be accepted from this application. Issued for the following:
  • This is a QUICMP request and field QUIERTOK in the IFGQUIES parameter area does not contain a request token corresponding to a QUIESCE exit invocation that VSAM is waiting for, to get a QUICMP response from this application.
  • This QUICEND or QUIBEND request is rejected because the application signalled completion of its processing for this QUICOPY or QUIBWO event.
  • This QUICEND or QUIBEND request is rejected because the applications' QUIESCE exit was not driven for this QUICOPY or QUIBWO event.
163(X'A3') RPLQACBO IDAQUIES type QUICMP request rejected. ACBs for the sphere remain open for the application and this is an IDAQUIES type QUICLOSE.
164(X'A4') RPLQCNCL IDAQUIES request did not complete successfully. The request is canceled.
165(X'A5')   For RLS and DFSMStvs, either the IDARECOV request was specified as TYPE=LL and the sphere was not in lost locks state for this subsystem, or TYPE=NONRLS was specified and the sphere was not in NONRLSUPDATE permitted state.
166(X'A6')   Available for RLS and DFSMStvs.
167(X'A7') RPLQNSUP The field QUIESTYP in the IFGQUIES parameter area specifies an invalid request type, or the eyecatcher in IGFQUIES is invalid.
168(X'A8')   For RLS and DFSMStvs, the RPLAREA was 0.
169(X'A9') RPLQCTGF For RLS and DFSMStvs, the IDAQUIES, IDARETLK TYPE=SS, IDARECOV TYPE=LL, or IDARECOV TYPE=NONRLS request failed because the Catalog Locate command issued for the specified sphere or component name failed.
170(X'AA') RPLQUNFL The QUIOPEN, QUICEND, or QUIBEND request is rejected because the requested unquiesce operation is already started for this sphere.
172(X'AC') RPLACQER For RLS and DFSMStvs, the IDAQUIES, IDARETLK TYPE=SS, IDARECOV TYPE=LL, or IDARECOV TYPE=NONRLS request failed because the specified sphere is not an SMS VSAM data set.
176(X'B0') RPLSTGER For RLS and DFSMStvs, the ACB specified in the IDARETLK TYPE=SS, IDARECOV TYPE=LL, or IDARECOV TYPE=NONRLS request is not a valid ACB open for RLS or DFSMStvs processing to the sphere.
180(X'B4')   For RLS, an invalid request for a nonrecoverable data set.
181(X'B5') RPLQRACF This IDAQUIES request is rejected because the requestor does not have update authority for the sphere:
  • This is a type QUICLOSE request. Successful completion of the request results in a catalog update to mark the sphere quiesced. Because the requestor does not have update authority, the request is rejected.
  • The catalog shows that this sphere is quiesced. Successful completion of the QUIOPEN request would result in a catalog update to reset the quiesced state of the sphere. Because the requestor does not have update authority, the request is rejected.
182(X'B6') RPLQINPR For RLS, the IDAQUIES request rejected because an IDAQUIES is already in progress for this sphere. If an RPL message area (address in RPLERMSA) of sufficient length (specified in RPLEMLEN) is specified, the following information is returned:
 Offset  Length  Description
 ------  ------  -----------
   0       1     Type of quiesce event already in progress for 
                 this sphere. Quiesce type constants are defined
                 in IFGQUIES macro.
183(X'B7') RPLMIGRA IDAQUIES request rejected because data set is migrated. .
184(X'B8') RPLABEND For RLS, an ABEND condition occurred while processing this VSAM request. The VSAM RLS FRR (Functional Recovery Routine) intercepted the failure and failed the VSAM request with this reason code.
185(X'B9')   For RLS, the user task was canceled while the request was being processed.
186(X'BA') RPLEOVER For RLS, end-of-volume initialization failed when DATASET tried to extend.
187(X'BB')   For RLS, an error occurred with partial EOV processing.
188(X'BC') RPLNO241 For RLS, the storage in subpool 241 is not available.
189(X'BD')   For RLS, a lock for the VSAM request required space in the record table, which is full. You must modify the CFRM policy and rebuild the lock structure.
192(X'C0') RPLIRRNO Invalid relative record number.
196(X'C4') RPLRRADR An addressed request was issued to a relative record data set.
200(X'C8') RPLPAACI Addressed or control-interval access was attempted through a path.
201(X'C9')   For RLS or DFSMStvs, the IDARETLK TYPE=SS request failed because the specified data set does not exist.
204(X'CC') RPLPUTBK PUT-insert requests (or for RLS, IDALKADD requests) are not allowed in backward mode.
205(X'CD')  
  • DFSMStvs was unable to complete the request because DFSMStvs restarted while the unit of recovery was inflight. To continue processing, the application must issue a commit or a backout, then begin a new unit of recovery.
  • For LSR, invalid CONTOKEN.
206(X'CE')  
  • For DFSMStvs, indicates that the request was rejected because the data set is quiesced or quiescing for copy. Retry the request.
  • For applicaitons that do not use RLS or DFSMStvs, this is a validity check error for share 3,4.
207(X'CF')   For DFSMStvs, indicates that transactional processing is currently unavailable because DFSMStvs is disabling or quiescing. Close all data sets so the process can complete.
208(X'D0') RPLINVEQ Invalid ENDREQ request.
209(X'D1')  
  • For DFSMStvs, indicates that the forward recovery log is unavailable because it is disabling.
  • For LSR, indicates a cache structure failure.
210(X'D2')  
  • For DFSMStvs, indicates that forward recovery logging failed because the record length is greater than the installation maximum supported by the log.
  • For shared resources, the buffer is being invalidated, or the buffer use chain changing.
211(X'D3')  
  • For DFSMStvs, indicates that a permanent I/O error was detected in the forward recovery log. For appropriate action, see the accompanying DFSMStvs logger messages.
  • For LSR, indicates that the cache request was purged.
212(X'D4') RPLNOSPL Unable to split index during a CA split.
213(X'D5')  
  • For DFSMStvs, indicates that the undo log is unavailable for processing.
  • For LSR, indicatesw no connectivity to the cache structure.
214(X'D6')   For DFSMStvs, indicates that a permanent I/O error was detected in the undo log. For appropriate actions, see the accompanying DFSMStvs logger messages.
216(X'D8')   For RLS, the LUWID specified in the RPL does not exist for the subsystem name specified in the ACB.
217(X'D9')   DFSMStvs is unable to complete the request because RRS, which had been available, went down and restarted. To continue processing, the application must issue a commit or a backout and then begin a new unit of recovery.
218(X'DA')   Unrecognizable return code from SVC 109.
220(X'DC')   For DFSMStvs, this reason code is no longer being used.
224(X'E0') RPLMOIB A MRKBFR request was issued for an invalid buffer.
228(X'E4') RPLINVMD A cross-memory caller is not in supervisor state, in SRB, or in cross-memory mode, or callers of RPL do not specify SYN processing.
229(X'E5') RPLDELCH The record length changed during decompression processing.
232(X'E8') RPLUPERR A cross-memory mode caller did not post the ECB in the UPAD exit routine.
235(X'EB') RPLBMWER
  • If the SMSVSAM server is not available, the IDAQUIES request fails with R15=16.
  • For RLS and DFSMStvs, this is an internal error.
236(X'EC') RPLINVSI Validity check error from SVC 109 for share option 3 or 4.
240(X'F0') RPLUSTAT Buffer pool status is unknown. The buffer use chain may be changing or a buffer is being modified or invalidated. Reissue the request.
244(X'F4') RPLSVR14 Register 14 stack size is not large enough.
245(X'F5') RPLCMSCE Severe error returned from CMS for a compress call.
246(X'F6') RPLCMSDE Severe error returned from CMS for a decompress call.
247(X'F7')   Error in the last active record number (DFM).
248(X'F8') RPLRST14 Register 14 return offset is negative.
249(X'F9')  
  • For DFSMStvs, indicates that undo logging failed because the record length is greater than the installation maximum supported by the log.
  • For LSR XI, indicates an invalid vector token.
250(X'FA') RPLINVDT No valid directory token exists. The data set cannot be decompressed.
251(X'FB') RPLBMWER Internal VSAM error.
252(X'FC') RPLER252 Record-mode access is not valid for a linear data set.
253(X'FD') RPLER253 Verify function is not valid for a linear data set.
254(X'FE') RPLERQUS I⁄O activity on the data set was not quiesced before WTBFR TYPE=DS was issued.
Table 3. Reason codes associated with R15=12. Reason codes associated with R15=12
RPLRTNCD code Condition
4(X'04') Read error for data component.
8(X'08') Read error for index component.
12(X'0C') Read error for sequence set.
16(X'10') Write error for data component.
24(X'18') Write error for sequence set.
28(X'1C') Available.
32(X'20') Available.
36(X'24') For RLS, coupling facility cache connectivity loss.
40(X'28') For RLS, coupling facility cache structure failure.
44(X'2C') For extended function data sets, the suffix for a physical record in the CI, at the RBA specified in the RPL, is invalid.
Table 4. Reason codes associated with R15=16. Reason codes associated with R15=16
RPLRTNCD code Condition
12(X'0C') DFSMStvs processing is currently unavailable because DFSMStvs is initializing.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014