Preallocating data sets

To avoid potential problems with some job scheduling packages, BMC Software recommends that you preallocate any data sets that use data services; preallocate them in a job step that is previous to the job step that may be restarted. If the restartable job step abends and the data set is allocated in the step with DISP=(NEW,CATLG...), some job scheduling packages automatically delete the data set. Potential GDG reference problems may also occur.

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).

This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Comments