z/OS DFSMS Macro Instructions for Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


STOW completion codes

z/OS DFSMS Macro Instructions for Data Sets
SC23-6852-02

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.

Table 1. STOW Completion Codes
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:
  1. 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:

Table 2. STOW IFF Completion Codes
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:
  1. The input compare operand was zero, but the input member name exists
  2. The input compare operand was not zero, the input member name exists, but the compare operand (Timestamp) does not match that of the existing member.
28 (X'1C') 04 (X'04') The dcb indicates a PDS, STOW IFF is not supported for PDS members.
Start of changeThe following return and reason codes may be returned from STOW RG, DG and RECOVERG:
Table 3. STOW RG, DG and RECOVERG Completion Codes
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.
End of change

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014