Previous Topic: User ExitNext Topic: Control Statement Specification


Job Control Statements

//stepname EXEC PGM=TMSCTLG,
//             [,PARM='[TEST][,DEBUG][,HOLDDAYS=nn]']
//STEPLIB  DD  DSN=CAI.CTAPLINK,DISP=SHR
//TMSRPT   DD  SYSOUT=A
//*SYSIN   DD  *                                        *NOTES
//*VWORK   DD  DSN=cai.ksds.data.set,DISP=SHR           *NOTES
//SYSPRINT DD  SYSOUT=A
//EARLOUT  DD  DSN=earlout.catalog.file,                *NOTES
//             DISP=(NEW,PASS,DELETE),
//             UNIT=SYSDA,
//             VOL=SER=xxxxxx,
//             SPACE=(TRK,(10,5)),
//             DCB=(RECFM=FB,LRECL=376,BLKSIZE=15416)

Notes:

Parameter Definitions

TEST

Process normally, but do not update any TMC records.

DEBUG

Used for debugging purposes only.

HOLDDAYS=nn

Allowable values are 2-99. Used to alter the standard 2 day hold that must elapse after a tape has been created before TMSCTLG is allowed to expire it. To protect long running tape jobs, the HOLDDAYS retention is applied to all tape data sets under catalog control, which were never cataloged.

Listing Mode Only - Step 1

For TMSCTLG Listing mode, IDCAMS must be run on all systems containing catalogs for tape data sets.

Use the following JCL to list your ICF catalogs.

//stepname EXEC PGM=IDCAMS
//SYSPRINT DD  DSN=idcams.listing,
//             UNIT=SYSDA,
//             DISP=(NEW,PASS,DELETE),
//             SPACE=(CYL,5),
//             DCB=(LRECL=125,RECFM=VB,BLKSIZE=629)
//SYSIN    DD  *
 LISTCAT       NONVSAM ALL

If multiple IDCAMs are to be processed, the SYSPRINT should use DISP=(MOD,CATLG).

Listing Mode Only - Step 2

Once the listing data sets are created for each system containing catalogs for tape data sets, the following JCL found in member TMSLSTEX of hlq.CTAPJCL creates the VSAM Listing mode data set:

//TMSLSTEX JOB (ACCOUNT)
//*-------------------------------------------------------------------*
//*                                                                   *
//*        THIS JOB IS USED TO PROCESS IEHLIST/IDCAMS LISTINGS        *
//*        AS INPUTS TO PRODUCE AN OUTPUT DATA SET (VSAM KSDS)        *
//*        WHICH IS TO BE USED AS INPUT TO TMSCTLG (VWORK DD).        *
//*                                                                   *
//*        EDIT IN THE IDCAMS OUTPUT LISTING DATA SETS AND            *
//*        THE VSM KSDS DATA SET NAME BELOW IN THE JCL.               *
//*                                                                   *
//*-------------------------------------------------------------------*
//CTSLSTEX PROC LINKLIB='CAI.CTAPLINK',
//             OUTPUT='cai.ksds.data.set',
//             SOUT='*',
//             TGTSER=,
//             TGTUNIT='SYSDA',
//             WRKUNIT='SYSDA'
//STEP1    EXEC PGM=IDCAMS
//SYSPRINT DD  SYSOUT=&SOUT.
//DD1      DD  VOL=SER=&TGTSER.,
//             UNIT=&TGTUNIT.,
//             DISP=SHR
//*
//STEP2    EXEC PGM=CTSLSTEX
//STEPLIB  DD  DSN=&LINKLIB.,
//             DISP=SHR
//LISTOUT  DD  DSN=&.&TEMP.,
//             DISP=(NEW,PASS),
//             UNIT=&WRKUNIT.,
//             SPACE=(CYL,5)
//IDCAMS   DD  DSN=idcams.listing,
//             DISP=SHR
//SYSOUT   DD  SYSOUT=&SOUT.
//SYSPRINT DD  SYSOUT=&SOUT.
//*
//STEP3    EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=&SOUT.
//SORTIN   DD  DSN=&.&TEMP.,
//             DISP=SHR
//SORTOUT  DD  DSN=&OUTPUT.,
//             DISP=SHR
//SORTWK01 DD  UNIT=SYSDA,
//             SPACE=(TRK,(1,1))
//SORTWK02 DD  UNIT=SYSDA,
//             SPACE=(TRK,(1,1))
//SORTWK03 DD  UNIT=SYSDA,
//             SPACE=(TRK,(1,1))
//         PEND
//CTSLSTEX EXEC CTSLSTEX
//STEP1.SYSIN  DD *
 DELETE (cai.ksds.data.set) CLUSTER -
        PURGE FILE (DD1)
 DEFINE CLUSTER                                    -
        (NAME('cai.ksds.data.set') VOLUMES(volser) -
               KEYS(58 0) RECSZ(120 120))  -
        INDEX                                      -
               (NAME('cai.ksds.data.set.INDEX') CYL(5 5)) -
        DATA                                       -
               (NAME('cai.ksds.data.set.DATA') CYL(5 5) -
                KEYS(58 0) CISZ(X'1000'))
/*
//STEP3.SYSIN  DD *
 SORT FIELDS=(1,58,CH,A,61,4,PD,D)
 SUM FIELDS=NONE
/*
//