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 requestsReturn 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 requestsReturn 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=0RPLRTNCD 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: - The request was abnormally terminated in the middle of its I/O
operation.
- 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.