NOCATLG2—prevent NOT CATLGD 2 errors (used with Allocation)


NOCATLG2 intercepts conditions that lead to the issuing of message IEF377I with a reason of NOT CATLGD2.

NOCATLG2 must process SMS-managed data sets during allocation, because a JCL error occurs if a job attempts to catalog SMS data sets that already exist. However, for non-SMS data sets, NOCATLG2 processing can occur in either place. The NOCATWHEN parameter dictates where NOCATLG2 processing occurs for non-SMS data sets.

Without DFSMS, when z/OS attempts to catalog a data set during step termination, and a catalog entry already exists for the data set, message IEF377I is issued with a reason of NOT CATLGD 2. The step is completed with a normal condition code, but the data set is not cataloged. The data set can be accessed only with a specific volume serial number. Subsequent steps that attempt to access the data set by way of the catalog use an invalid catalog entry. For SMS-managed data sets, a JCL error occurs during allocation.

For non-SMS-managed data sets, if an older version of the data set exists on the volume that is specified by the invalid catalog entry, the step uses the wrong data as input. If the data set does not exist on the volume, the step abends with a 213 error, and the job is flushed with messages IGD17273I, IGD17001I, or IGD17101I. These situations lead to production problems and wasted space.

NOCATLG2 can recatalog the data set by using the new volume. This facility works with both disk and tape data sets.

The NOCATLG2 function prevents data sets from being created but not cataloged when the same data set name exists on the catalog.

NOCATLG2 detects data sets that have names that already exist in the catalog and applies user-defined corrective action automatically in both DFSMS and non-DFSMS environments.

For more information, see:


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*