Also, in a multiple-step job, you should catalog or uncatalog data
sets using JCL rather than IEHPROGM or a user program. Because data
set allocation and unallocation monitors data sets during job execution
and is not aware of the functions performed by IEHPROGM or user programs,
data set orientation might be lost or conflicting functions might
be performed in subsequent job steps.
When you use a relative generation number to refer to a generation
that was previously cataloged, the relative number has the following
meaning:
- A.B.C(0) refers to the latest existing cataloged entry.
- A.B.C(-1) refers to the next-to-the-latest entry, and so
forth.
When cataloging is requested using JCL, all actual cataloging occurs
at step termination, but the relative generation number remains the
same throughout the job. The following results can occur:
- A relative number used in the JCL refers to the same generation
throughout a job.
- A job step that ends abnormally can be deferred for a later step
restart. If the job step successfully cataloged a generation data
set in its GDG, you must change all relative generation numbers in
the next steps using JCL before resubmitting the job.
For example, if the next steps contained the following relative
generation numbers:
- A.B.C(+1) refers to the entry cataloged in the terminated job
step, or
- A.B.C(0) refers to the next to the latest entry, or
- A.B.C(-1) refers to the latest entry, before A.B.C(0).
You must change A.B.C(+1) to A.B.C(0), A.B.C(0) to A.B.C(-1),
and A.B.C(-1) to A.B.C(-2) before restarting the step.