STOW completion codes
When the system returns control to the problem program, register
15 contains a return code and register 0 contains a reason code in
the 2 low-order bytes (Table 1
). The high-order bytes of both registers are set to 0. Directory
Action
in the table heading refers to the directory functions
add, change, delete, initialize, replace, and disconnect.
Return Code (15) | Reason Code (0) | Directory Action | Meaning |
---|---|---|---|
00 (X'00') | 00 (X'00') | A, C, D, R | The update of the directory was completed successfully. |
00 (X'00') | I | The directory was cleared (initialized) successfully. | |
00 (X'00') | DISC | Function successful. | |
04 (X'04') | 00 (X'00') | A, C | The directory already contains the specified new name. |
00 (X'00') | DISC | Error detected. Check status fields. | |
08 (X'08') | 01 (X'01') | DISC | Reserved fields not zero. |
02 (X'02') | DISC | Bad length field (either too small for at least one array entry or does not allow for even multiple of array entries). | |
03 (X'03') | DISC | Either no function bit is set or reserved function bit is set. | |
00 (X'00') | D, R | The specified name could not be found. | |
C | The specified old name could not be found. | ||
12 (X'0C') | 00 (X'00') | A, C, R | No space left in the directory. The entry could not be added, replaced, or changed. |
12 (X'0C') | 01 (X'01') | A, R | For a PDSE, an attempt by STOW to create a member with no records failed because the number of members would have exceeded the maximum allowed. |
16 (X'10') | 01 (X'01') | A, C, D, I, R | A permanent input or output error was detected. Control is not given to the error analysis (SYNAD) routine. |
16 (X'10') | 02 (X'02') | A, R | A permanent I/O error occurred while attempting to write the EOF mark after the member. Control is not given to the error analysis (SYNAD) routine. |
04 (X'04') | A, C, D, R | An error occurred while writing data buffered in system buffers. Control is not given to the error analysis (SYNAD) routine. | |
1847 (X'737') | A, C, D, I, R | The system found an I/O error while trying to read or write the VTOC.1 | |
2871 (X'B37') | A, C, D, I, R | The system was unable to update the VTOC.1 | |
3383 (X'D37') | A, C, D, I, R | Either no secondary space is available or a DADSM user exit error occurred. The error occurred when trying to write an EOF; all primary space used.1 | |
3639 (X'E37') | A, C, D, I, R | Either no secondary space is available or a DADSM user exit error occurred.1 | |
20 (X'14') | 00 (X'00') | A, C, D, I, R | The specified data control block is not open or is opened for input, or a DEB error occurred. |
24 (X'18') | 00 (X'00') | A, C, D, I, R | Insufficient virtual storage was available to perform the STOW function. |
28 (X'1C') | 00 (X'00') | A, R | The caller attempted to issue add or replace for a member of the Program Management Library, which is a PDSE that contains program objects. |
30 (X'1E') | 28 (X'1C') | A, R | A stow for an allas was issued for a member that has been deleted. However, the member is connected so the delete is pending and the create of the allas failed. |
32 (X'20') | A, C, D, I, R | Reserved. | |
34 (X'22') | 00 (X'00') | I | In an initialize operation, one or more of the members is placed in a pending delete status. |
36 (X'24') | 00 (X'00') | A, R | The alias has an invalid TTR (PDSEs only). |
40 (X'28') | 00 (X'00') | A, R | User-supplied TTRs are in the user data field of the directory entry (PDSEs only). |
44 (X'2C') | A, C, D, I, R | Reserved. | |
48 (X'30') | 04 (X'04') | A | The add failed because you cannot add a primary member name while the PDSE is open for update (PDSEs only). |
08 (X'08') | R | The replace failed because you cannot replace a primary member name while the PDSE is open for update and the specified name does not exist (PDSEs only). | |
12 (X'0C') | R | The replace failed because you cannot replace an alias name if it is the same name as the primary member (PDSEs only). | |
16 (X'10') | A, R | The add or replace failed when attempting to add or replace an alias, but the member identified by the TTR did not exist (PDSEs only). | |
20 (X'14') | R | The replace failed when attempting to replace a primary member name while the PDSE is open for update and the member name identified an existing alias (PDSEs only). | |
24 (X'18') | R | The replace failed when attempting to replace a primary member name while the PDSE is open for update, but the input TTR has not been defined for that member (PDSEs only). | |
52 (X'34') | 00 (X'00') | I | One or more members were placed in a pending delete state; the space taken by those modules is not immediately available for reuse. |
Note:
- See z/OS MVS System Codes for more information on abend codes X'737', X'B37', X'D37', and X'E37'.
The following return and reason codes may be returned from STOW IFF:
Return Code (15) | Reason Code (0) | Description |
---|---|---|
00 (X'00') | 00 (X'00') | STOW IFF successful. The compare operands matched and the directory was updated successfully, the member was createdor updated. |
04 (X'04') | 00 (X'00') | STOW IFF successful. The input compare operand was zero, the input member name did not exist. The directory was updated successfully, the member was added. |
08 (X'08') | 00 (X'00') | STOW IFF failed. Either:
|
28 (X'1C') | 04 (X'04') | The DCB indicates a PDS. STOW IFF is not supported for PDS members. |
The following return and reason
codes may be returned from STOW RG, DG and RECOVERG:
Return Code (15) | Reason Code (0) | Directory Action | Description |
---|---|---|---|
00 (X'00') | 00 (X'00') | RG, DG, RECOVERG | Function successful. |
08 (X'08') | 00 (X'00') | DG | Generation does not exist, not deleted. |
08 (X'08') | 00 (X'00') | RG | Name exists but generation did not exist. Add performed. |
08 (X'08') | 00 (X'00') | RECOVERG | Generation does not exist, no recovery performed. |
48 (X'30') | 28 (X'1C') | RG | Data set is not defined to have generations. |
48 (X'30') | 32 (X'20') | RG | No generation has ever existed. Generations must exist before an RG operation can be performed. |
48 (X'30') | 36 (X'24') | RG | The generation specified is out of range. It is older than the oldest generation and generation limit has been reached. |
48 (X'30') | 40 (X'28') | RG | The generation specified is out of range. It is newer than the newest generation. |