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 shown in Table 1.
Table 1. Return
Codes from the Record-Management(Request) MacrosReturn
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 shown
inTable 2 .
Table 2. Return
Codes from the Record-Management(Request) MacrosReturn
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 may be found in the RPL feedback area when register
15 is 0.
Table 3. 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 nonupdate with address access. This warning condition
indicates that duplicate data records may exist. The
RBA of the interrupted split can be acquired from RPLDDDD or, if the
data set is an EA data set, then from the lower six bytes of the field
RPLRBAR. |
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, because
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. |
48(X'30') |
An
error occurred during CA Reclaim. The erase
was successful. |
52 (X'34') |
For VSAM only. The ERASE completed successfully,
but CA Reclaim failed due to ERASE issued by subtask in key 9. |
56 (X'38') |
The ERASE completed successfully, but CA Reclaim
failed due to insufficient virtual storage in the address space to
dynamically add the CA Reclaim control blocks. |
60(X'3C') |
The
ERASE completed successfully, but CA Reclaim
failed because the placement of index CI 2 does not follow VSAM convention.
|
See the following discussions
for the logical-error and physical-error
return codes.