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


Return codes from the record-management (request) macros

z/OS DFSMStvs Administration Guide
GC52-1388-00

After a request macro or a CHECK or ENDREQ macro is issued, register 15 contains a return code.

After an asynchronous request to access a data set, VSAM indicates in register 15 whether the request was accepted, as Table 1 shows.

Table 1. Return codes from the record-management (request) macros - asynchronous requests. Return codes from the record-management (request) macros - asynchronous requests
Return code Description
0(X'00') Request was accepted.
4(X'04') Request was not accepted because the request parameter list indicated by the request (RPL=address) was active for another request.
16(X'10')
  • SMSVSAM server is not active
  • invalid OPEN connection

After a synchronous request, or a CHECK or ENDREQ macro, register 15 indicates whether the request was completed successfully, as Table 2 shows.

Table 2. Return codes from the record-management (request) macros - synchronous requests. Return codes from the record-management (request) macros - synchronous requests
Return code Description
0(X'00') Request completed successfully.
4(X'04') Request was not accepted because the request parameter list indicated by the request (RPL=address) was active for another request.
8(X'08') Logical error; specific error is indicated in the feedback field in the RPL.
12(X'0C') Physical error; specific error is indicated in the feedback field in the RPL.
16(X'10')
  • The SMSVSAM server is not active.
  • The OPEN connection is invalid.
  • DFSMStvs is not active.

The feedback area of the request parameter list (RPL) contains additional diagnostic information that is used with the return codes in register 15 to determine the cause of an error.

The feedback area in the RPL is a fullword field:
  • Byte0 Problem determination code
  • Byte1 RPL return code (same as register 15)
  • Byte2 Component code
  • Byte3 Reason code

VSAM does not branch to an exit routine when register 15 is 0 on return from a request. The list in Table 3 describes the reason codes that might be in the RPL feedback area when register 15 is 0.

Table 3. Return codes from the record-management (request) macros - R15=0. Return codes from the record-management (request) macros - R15=0
RPLRTNCD code Condition
0(X'00') Request completed successfully.
4(X'04') Request completed successfully. For retrieval, VSAM mounted another volume to locate the record; for storage, VSAM allocated additional space or mounted another VSAM EOV was called.
8(X'08') For GET requests, indicates that a duplicate key follows; for PUT requests, indicates that a duplicate key was created in an alternate index with the nonunique attribute.
12(X'0C') (Shared resources only.) A buffer needs to be written.
16(X'10') Control area split was required because a sequence set control interval had free space insufficient to contain the key to be inserted.
24(X'18') Buffer found but not modified: no buffer writes performed.
28(X'1C') A CI split for the CI was interrupted. The CI was read as non-update with address access. This warning condition indicates that duplicate data records may exist. The RBA for this CI can be acquired from RPLDDDD for non-extended-addressable data sets or from the lower six bytes of RPLRBAR for an extended-addressable data set.
32(X'20') Possible causes:
  • Request deferred for a resource held by the terminated RPL is asynchronous and cannot be restarted by TERMRPL.
  • A MRKBFR request is invalid because no candidate buffer could be found.
  • For IDARETLK, there were no locks to retain since no update locks exist for this SUBSYSNM/LUWID/SPHERE.
36(X'24') Possible data set error condition was detected by TERMRPL:
  1. The request was abnormally terminated in the middle of its I/O operation.
  2. One of the data/index BUFCs of the string contains data that needs to be written (BUFCMW=ON), but it was invalidated by TERMRPL.
40(X'28') Error in PLH data BUFC pointer was detected by TERMRPL.
43(X'2B') EOV called to retrieve or update the dictionary token in the catalog for a compressed data set.
44(X'2C') EOV called to update catalog statistics.

See the following discussions for the logical-error and physical-error return codes.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014