Job Control Language (JCL) for LISTCAT Jobs

The job control language (JCL) statements that can be used to list a catalog's entries are:
//LISTCAT  JOB   ... 
//STEP1    EXEC  PGM=IDCAMS 
//OUTDD    DD    DSN=LISTCAT.OUTPUT,UNIT=3480, 
//         VOL=SER=TAPE10,LABEL=(1,NL),DISP=(NEW,KEEP), 
//         DCB=(RECFM=VBA,LRECL=125,BLKSIZE=629) 
//SYSPRINT DD    SYSOUT=A 
//SYSIN    DD    * 
     LISTCAT - 
          CATALOG(YOURCAT) - 
          OUTFILE(OUTDD) - 
          ... 
/*
Note: Additional keywords can be included.

The JOB statement contains user and accounting information required for your installation.

The EXEC statement identifies the program to be run, IDCAMS (that is, the access method services program).
  • OUTDD, which specifies an alternate output file, so that the LISTCAT output can be written onto an auxiliary storage device. The LISTCAT command's OUTFILE parameter points to the OUTDD DD statement. Only the LISTCAT output is written to the alternate output device. JCL statements, system messages, and job statistics are written to the SYSPRINT output device.
    • DSN=LISTCAT.OUTPUT specifies the name for the magnetic tape file.
    • UNIT=3480 and VOL=SER=TAPE10 specifies that the file is to be contained on magnetic tape volume TAPE10.
    • LABEL=(1,NL) specifies that this is the first file on a nonlabeled tape. You can also use a standard labeled tape by specifying LABEL=(1,SL). If subsequent job steps produce additional files of LISTCAT output on the same tape volume, you should increase the file number in each job step's LABEL subparameter (that is, LABEL=(2,NL) for the second job step, LABEL=(3,NL) for the third job step, etc.)
    • DISP=(NEW,KEEP) specifies that this is a new tape file and is to be rewound when the job finishes. If a subsequent job step prints the tape, DISP=(NEW,PASS) should be specified. If your job step contains more than one LISTCAT command, use DISP=(MOD,KEEP) or DISP=(MOD,PASS) to concatenate all of the LISTCAT output in one sequential file.
    • DCB=(RECFM=VBA,LRECL=125,BLKSIZE=629) specifies that the LISTCAT output records are variable-length, blocked 5-to-1, and are preceded by an ANSI print control character.
  • SYSPRINT DD, which is required for each access method services job step. It identifies the output queue, SYSOUT=A, on which all LISTCAT output and system output messages are printed (unless the OUTFILE parameter and its associated DD statement is specified—see OUTDD above).
Note: If you want all output to be written to an auxiliary storage device, replace X'OUTDD' with X'SYSPRINT' in the OUTDD DD statement and omit the SYSPRINT DD SYSOUT=A statement.
The LISTCAT command parameters shown in the preceding example are common to the LISTCAT examples that follow. Other LISTCAT parameters are coded with each example and the output that results is illustrated. These two parameters are optional:
  • CATALOG, which identifies YOURCAT as the catalog whose entries are to be listed.
  • OUTFILE, which points to the OUTDD DD statement. The OUTDD DD statement allocates an alternate output file for the LISTCAT output.
If you want to print the LISTCAT output that is contained on an alternate output file, you can use the IEBGENER program. The following shows the JCL required to print the alternate output file, LISTCAT.OUTPUT, that was allocated previously:
//PRINTOUT  JOB   ... 
//STEP1     EXEC  PGM=IEBGENER 
//SYSUT1    DD    DSN=LISTCAT.OUTPUT,UNIT=2400-3, 
//          VOL=SER=TAPE10,LABEL=(1,NL),DISP=(OLD,KEEP), 
//          DCB=(RECFM=VBA,LRECL=125,BLKSIZE=629) 
//SYSUT2    DD    SYSOUT=A 
//SYSPRINT  DD    SYSOUT=A 
//SYSIN     DD    DUMMY 
/* 
Note: If you have the DFSORT product installed, consider using ICEGENER as an alternative to IEBGENER when making an unedited copy of a data set or member. It is usually faster than IEBGENER. It might already be installed on your system using the name IEBGENER.