Examples of using DFHRMUTL

The following examples illustrate the uses of DFHRMUTL.

Example: Setting an initial start without operator intervention

Figure 1 shows the statements required to update the global catalog so that CICS® performs an initial start if START=AUTO is specified.

You could use this job to modify a newly-defined global catalog. This would mean that could retain START=AUTO for all your CICS start jobs, including the first with a new global catalog.

If you use this step to initialize a newly-defined global catalog, you should use the DFHCCUTL utility to initialize the local catalog too. (If you use it to reinitialize an existing global catalog, it is not necessary to initialize the local catalog.) For information about initializing catalog data sets, see Setting up the catalog data sets.

Figure 1. DFHRMUTL—setting the next auto start to be an initial start.
//RMUTL    EXEC PGM=DFHRMUTL,REGION=1M
//STEPLIB  DD DSNAME=hlq.SDFHLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//DFHGCD   DD DSNAME=catalog.dataset,DISP=OLD
//SYSIN    DD *
  SET_AUTO_START=AUTOINIT
/*

Example: Examining the override record

Figure 2 shows the statements required to examine the autostart override record on a CICS global catalog data set.
Figure 2. DFHRMUTL—examining an autostart override record
//RMUTL    EXEC PGM=DFHRMUTL,REGION=1M
//STEPLIB  DD DSNAME=link.dataset,DISP=SHR 
//SYSPRINT DD SYSOUT=A
//DFHGCD   DD DSNAME=catalog.dataset,DISP=OLD
//SYSIN    DD * 
/* 
This JCL also reveals:
  • If this is a catalog data set produced by a COLD_COPY and not yet used by CICS (and so not populated with other records).
  • If it is an “empty” catalog—that is, it does not contain a recovery manager control record.

Example: Resetting a warm or emergency start

Figure 3 shows the statements required to update the global catalog so that CICS performs a warm or emergency start if START=AUTO is specified. This enables you to undo the effects of a previous run of DFHRMUTL that set the autostart override record to AUTOINIT or AUTOCOLD. (The AUTOASIS override record is equivalent to there being no override record in the global catalog.)

If the global catalog data set was produced by a COLD_COPY, or if it is empty, DFHRMUTL rejects the AUTOASIS value.

Figure 3. DFHRMUTL—resetting a warm or emergency start
//RMUTL    EXEC PGM=DFHRMUTL,REGION=1M
//STEPLIB  DD DSNAME=link.dataset,DISP=SHR
//SYSPRINT DD SYSOUT=A
//DFHGCD   DD DSNAME=catalog.dataset,DISP=OLD
//SYSIN    DD *
  SET_AUTO_START=AUTOASIS
/*

Example: Improving the performance of a cold start

Figure 4 shows the statements required to:
  • Create a new global catalog data set consisting only of those records required for a cold start.
  • Set the autostart override record of the new catalog to indicate a cold start.
  • Replace the original catalog with the new one, if the creation step succeeded.

Because the original catalog data set is overwritten by a COLD_COPY, it is not suitable for a warm or emergency start. DFHRMUTL does not allow you to reset the override record to read AUTOASIS.

Figure 4. DFHRMUTL—setting the global catalog for a cold start. COLD_COPY is used to improve performance.
//RMUTL    EXEC PGM=DFHRMUTL,REGION=1M
//STEPLIB  DD DSNAME=link.dataset,DISP=SHR
//SYSPRINT DD SYSOUT=A
//DFHGCD   DD DSNAME=catalog.dataset,DISP=OLD
//NEWGCD   DD DSNAME=newcatalog.dataset,DISP=OLD
//SYSIN    DD *
  SET_AUTO_START=AUTOCOLD,COLD_COPY
/*
//         IF (RMUTL.RC=0) THEN
//* Step to be performed if RMUTL succeeds
//COPY     EXEC PGM=IDCAMS
//DFHGCD   DD DSNAME=catalog.dataset,DISP=OLD
//SYSPRINT DD SYSOUT=A
//NEWGCD   DD DSNAME=newcatalog.dataset,DISP=OLD
//SYSIN    DD *
  REPRO INFILE(NEWGCD) OUTFILE(DFHGCD) REUSE
/*
//* End of step
//         ENDIF