Information

This site will undergo a brief period of maintenance on Friday, 18 December at 12:30 AM Central/12:00 PM IST. During a 30 minute window, site availability may be intermittent.

Output sequential files


Following an application program ABEND, any sequential files that are being created must not be deleted. This is because these files must be available for QUICKSTART to reposition at the subsequent restart. If DISP=(NEW,CATLG,CATLG) is used, then a JCL change will be required at restart time. To avoid the JCL change, one of two techniques should be used:

  • Use DISP=(MOD,CATLG,CATLG) on all runs.

    Warning

    Note

    The DISP=MOD JCL parameter when used with QUICKSTART DOES NOT signify that datasets are added on to. For an initial run, QUICKSTART treats DISP=MOD like DISP=NEW. For a restart run, QUICKSTART treats DISP=MOD like DISP=OLD, and repositions the file to the record after the last checkpoint.

  • Pre-allocate the dataset (e.g., using IEFBR14), then use
    DISP=(OLD,CATLG,CATLG) on all runs.
    DISP=(MOD/OLD,CATLG,CATLG) should be coded instead of simply
    DISP=MOD/OLD because after the application program has been successfully restarted, it is possible that it could add a sufficient number of records to the sequential file to cause the file span onto another VOLUME. Without the CATLG sub-parameter, these new VOLUMEs would not be registered in the MVS Catalog.

    Warning

    Note

    If no additional VOLUMEs are added to the sequential file, the job output may contain the message NOT RECATLGD 2. This is normal and is not to be confused with the error NOT CATALOGED 2.

    In most cases, output sequential files, should not specify the RLSE attribute of the SPACE sub-parameter. Use of RLSE can lead to System D37 ABENDs after a restarted application program is executing and adding new records to the file. QUICKSTART provides a utility program called QSRLSE, which can be executed in a subsequent job step to release unused space for multiple datasets. Sample JCL:

//STEP2     EXEC PGM=QSRLSE
//*   RELEASES UNUSED SPACE IN DD1 AND DD2
//STEPLIB   DD   DSN=QSTART.LOADLIB,DISP=SHR
//DD1       DD   DSN=your.output.dataset1,DISP=MOD,SPACE=(TRK,1,RLSE)
//DD2       DD   DSN=your.output.dataset2,DISP=MOD,SPACE=(TRK,1,RLSE)
//SYSIN     DD *
DD1
DD2
//*

Related topic


 

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

QUICKSTART for MVS 3.4