Interpreting information reason codes from DYNALLOC

When DYNALLOC encounters a non-terminating error during processing, the system places a return code of 0 in register 15, and an information reason code in the request block field labelled S99INFO. The information reason codes indicate that, although DYNALLOC performed the requested function, some element of the request was not processed or was overridden by system action. The actions provided with these reason codes are optional. The application programmer should determine, based on the individual program, whether it is necessary to correct the condition that caused the reason code.

Note that information reason codes (S99INFO) which accompany error reason codes (S99ERROR) in the 47zz range are actually DADSM subfunction reason codes, which are explained in z/OS DFSMSdfp Diagnosis. The 47zz error codes are DYNALLOC terminating errors.

The possible codes and their meanings are:
Hexadecimal Reason Code
Meaning and Action
0008
Meaning: The data set is deallocated using the disposition specified when the request was allocated. The overriding disposition ignored for one of the following reasons:
  • The data set was originally allocated with a disposition of PASS.
  • The data set is a non-subsystem data set that has a system-generated name; you cannot override disposition on this type of data set.
  • The data set is a VSAM data set and the storage management subsystem (SMS) is not active.
Application Programmer Action: Determine which condition caused the code and take the appropriate action:
  • Correct the overriding disposition.
  • Ensure that the data set was allocated with a disposition other than PASS.
  • Ensure that the data set was not a temporary data set.
  • Check with your system programmer to determine if SMS is active.

Corresponding Message: IKJ68501

002n
The data set was successfully deallocated but processing of the requested CATLG or UNCATLG disposition was unsuccessful. The digit “n” represents the reason for the failure, as follows:
n
Meaning and Action
1
Meaning: A control volume is required; a utility program must be used to catalog the data set.

Application Programmer Action: Run the required utility program, ensuring that the required control volume is mounted.

2
Meaning: One of the following has occurred:
  • A catalog entry already exists for the specified DSNAME.
  • A catalog entry for an alias of another data set matches the specified dsname.
  • The data set was (or became) a multivolume data set with a disposition of CATLG and no change was made to the volume serial list.
  • The system could not locate the data set to be uncataloged.
  • The dsname of a data set to be cataloged in an integrated catalog facility (ICF) catalog has the same low level qualifier (GnnnnVnn) as a GDG.
  • The RACF® authorization to access the data set, GDG base, or catalog was improper.
  • You did not specify a password for writing the catalog, or specified it incorrectly.
  • The name of the data set to be cataloged has the same high-level qualifiers as an existing alias entry in the same catalog. For example, data set A.B.C.D cannot be cataloged if an alias entry for A.B or A.B.C pointing to a different catalog already exists in the catalog.

Application Programmer Action: Correct the DSNAME and resubmit the request. If the catalog is password-protected and the system issued message IEC301A, ask your system programmer to supply the correct password to the message. Obtain authorization and the password from the system administrator or owner of the private catalog. If a RACF failure has occurred, contact the installation RACF administrator to get proper authorization.

3
Meaning: The specified index does not exist.

Application Programmer Action: Correct the dsname and resubmit the request.

4
Meaning: The data set could not be cataloged because the space was not available in the catalog.

Application Programmer Action: Increase the size of the catalog data set or delete unused catalog entries, and use a utility program to catalog the data set.

5
Meaning: Because too many volumes were specified for the data set, not enough storage was available to catalog it.

Application Programmer Action: Reduce the number of volumes specified, and resubmit the request.

6
Meaning: The data set to be cataloged in a generation index is improperly named.
Application Programmer Action: If the dsname is G0000V00:
  1. Use IEHLIST to list all the data set names for the GDG
  2. Use IEHPROGM to rename the data sets in the order in which they exist, starting with G0001V00 or higher. Uncatalog the data sets using the original data set names, then catalog the data sets using the new names.

If the dsname is not G0000V00, correct the dsname and resubmit the request.

7
Meaning: The data set to be cataloged has not been opened, and the following information was not supplied:
  • Density: for dual density tape requests only
  • Recording mode: for requests for which compaction information is required.

Application Programmer Action: If you want to catalog the data set, supply the required information and resubmit the request.

9
Meaning: An non-correctable I/O error occurred in reading or writing the catalog, or the catalog is protected by an expiration date but the purge date has not passed, or RACF denied access to the catalog.

Application Programmer Action: Resubmit the job, or catalog the data set using some alternate method, such as the IDCAMS utility. If a RACF failure has occurred, contact the installation RACF administrator to get proper authorization.

A
Meaning: The VTOC of a DOS volume could not be converted to OS format.

Application Programmer Action: Either scratch or remove the split cylinder data set that is causing the error, and resubmit the request.

Corresponding Message: IKJ56851I

003n
The data set was successfully deallocated, but processing of the requested DELETE disposition was unsuccessful. The digit “n” represents the reason for the failure, as follows:
n
Meaning
1
Meaning: The expiration date has not occurred. The expiration date is specified on one of the following:
  • The EXPDT or RETPD parameter of the JCL DD statement
  • The EXPDT or RETPD subparameter of the JCL DD statement LABEL parameter
  • The DALEXPDT or DALRETPD text unit of a previous dynamic allocation request
  • The data class used for this DD statement.

Application Programmer Action: Do not attempt to delete the data set.

4
Meaning: No device was available for mounting the volume during deletion.
In a JES3 system, this reason code might occur if a data set was passed from one job step but not received by the job step in which it was to be deleted, as when:
  • The data set was allocated to a permanently resident device that was online to MVS™ but off-line to JES3.
  • JES3 assigned the data set to a device that was varied off-line from JES3 before the data set was deleted.

Application Programmer Action: Ensure that the correct volumes can be mounted. In a JES3 system, ensure that the device containing the data set is online to JES3.

5
Meaning: Because too many volumes were specified for deletion, not enough storage was available to perform the specified deletion.

Application Programmer Action: For DASD data sets, delete the VTOC entries for the data set from each volume by breaking the request up into several steps. In each step, allocate and unallocate the data set, specifying a portion of the volumes for the data set in each step. For TAPE data sets, no action is necessary.

6
Meaning: Either no volumes were mounted or volumes that were mounted could not be demounted to permit the remaining volumes to be mounted.

Application Programmer Action: Ensure that the correct volumes can be mounted.

8
Meaning: The SCRATCH routine returned an error code. If the user's JCL JOB statement requested allocation or termination messages, message IEF283I appears in the SYSOUT listing. This message lists the volume serial numbers of the data sets that were not deleted; following each number is a code that explains why each data set was not deleted.
Application Programmer Action: Take the appropriate action based on the SCRATCH error code:
Code
Action
1,5,6
Ensure that the correct volume can be mounted.
2
Supply the correct password.
3
Do not attempt to delete the data set.
4
Resubmit the request.
7
Do not specify SHR as the data set disposition.
8
Contact the RACF administrator to either properly define the data set or provide the correct RACF authorization.
9
Request the owners of the RACF-defined entities to delete the profiles from the RACF data set.

Corresponding Message: IKJ5685I. If the JOB statement requested allocation or termination messages, message IEF283I appears in the SYSOUT listing.

0044
Meaning: A reserved temporary data set name was used for a SYSOUT allocation. The job continued, but the system used the job name instead of the reserved name.

Application Programmer Action: Change the temporary data set name associated with the SYSOUT data set allocation.

Corresponding Message: IKJ56898I

0050
Meaning: The system successfully allocated the data set, but could not catalog it because the data set name is in apostrophes. The system used a disposition of KEEP instead.

Application Programmer Action: Correct the disposition, or use a dsname that is not enclosed in apostrophes.

Corresponding Message: IKJ56851I

0054
Meaning: The system successfully allocated the dataset. The Dynamic Allocation specified the 2-digit year Expiration Date (yyddd) Text Unit (DALEXPDT) and the 2DGT_EXPDT Policy of WARN is in effect.

A 2-digit Expiration Date year implies a year date of the form 19xx where xx is the 2-digit year specified by DALEXPDT (yyddd). Therefore, use of DALEXPDT does not allow the specification of an Expiration Date after December 31, 1999.

Application Programmer Action: Modify the Dynamic Allocation parameter input to replace the DALEXPDT text unit with the DALEXPDL text unit which uses the 4-digit year format (yyyyddd).

Corresponding Message: IEF405I