Preallocating data sets
The following example shows the pre-allocation of an output sequential data set:
//ALLOC EXEC PGM=IEFBR14
//DD1 DD DSN=your.output.dsn,
// DISP=(NEW,CATLG,CATLG),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),
// UNIT=SYSDA,SPACE=(CYL,(5,1))
If you allocate the data set in a previous job step, you can specify DISP=(OLD,CATLG,CATLG) or DISP=(SHR,CATLG,CATLG) in the restartable job step. Do not allocate it with DISP=(MOD,CATLG,CATLG).
Warning
If a data set is allocated as DISP=(NEW,CATLG,CATLG) in a job step (and not preallocated in a previous job step), you must change the DD statement to DISP=(OLD,CATLG,CATLG) before the job step can be restarted.
You should code DISP=(OLD/SHR,CATLG,CATLG)
instead of simply DISP=OLD/SHR.
After the application program has been successfully restarted, it is possible for a sufficient number of records to be added to the sequential output file to cause the file to expand onto another volume. Without the abnormal-termination disposition of CATLG
, these new volumes would not be registered in the catalog.
Note
If no additional volumes are added to the sequential file, the job output may contain the message NOT RECTLGD 2
. This is normal and is not to be confused with the error message NOT CATLGD 2
.
However, when AR/CTL performs application reattach processing for an application program that abends, the job step is still active in the MVS system and the disposition status of any files allocated in the job step does not change. Therefore, during application reattach, AR/CTL can reposition files defined in the job step as DISP=(NEW,CATLG,CATLG)
.
Comments
Log in or register to comment.