Defining the local catalog

CICS® Transaction Server for z/OS® is divided into functional areas (or components) known as domains. These domains communicate through a central component, the CICS kernel, and their initialization and termination is controlled by the domain manager. The kernel, the domain manager, and the other domains all require an individual domain parameter record, and these are stored in the local catalog.

The CICS domains use the local catalog to save some of their information between CICS runs, and to preserve this information across a cold start. For further guidance information about what is written to the local catalog, and about how CICS uses the local catalog for startup and restart, see Controlling start and restart.

The local catalog is a VSAM key-sequenced data set (KSDS). It is not shared by any other CICS region, such as an alternate CICS in an XRF environment. If you are running CICS with XRF, you must define a unique local catalog for the active CICS region, and another for the alternate CICS region.

Unlike the global catalog, which must be defined with enough space to cope with any increase in installed resource definitions, the size of the local catalog is relatively static. The following section describes the information held on the local catalog.

Information written to the local catalog

Before the local catalog can be used to bring up a CICS region, it must be initialized with the following data:

To enable you to initialize the local catalog correctly, with all the records in the correct sequence, there is a CICS-supplied utility called DFHCCUTL that you run immediately after you have defined the VSAM data set.

In addition to the information written to the local catalog when you first initialize it, the loader domain writes a program definition record for each CICS nucleus module. The number of records varies depending on the level of function you have included in your CICS region.

Allow for at least 75 of these loader-domain records.

Some domains also write a domain status record to the local catalog, for use in a warm or emergency restart. For example, in the case of the dump domain, the status record indicates which transaction dump data set was in use during the previous run. The domains that write to the local catalog are:

You can add records to the local catalog to enable the CICS self-tuning mechanism for storage manager domain subpools. For details of how to do this using the CICS-supplied utility program, DFHSMUTL, see the CICS Operations and Utilities Guide.

Finally, when you define the VSAM cluster for the local catalog, specify a secondary extent value as a contingency allowance. See the sample job in Figure 15.

Job control statements to define and initialize the local catalog

Before its first use, you must define and initialize the CICS local catalog as a VSAM key sequenced data set (KSDS). To do this, you can use the sample job in Figure 15. Alternatively, you can run the CICS-supplied job DFHDEFDS to create a local catalog for an active CICS region or the CICS-supplied job DFHALTDS to create a local catalog for an alternate CICS region. For information about the jobs DFHDEFDS and DFHALTDS, see the CICS Transaction Server for z/OS Installation Guide.

Figure 15. Sample job to define and initialize the local catalog
//LOCAT    JOB accounting info,,CLASS=A
//DEFLCD   EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
//*
         DEFINE CLUSTER -
                (NAME( CICSTS31.CICS.applid.DFHLCD) -              1 
                 INDEXED                       -
                 RECORDS( 200 10 )             -                   2 
                 FREESPACE(10 10)              -
                 SHAREOPTIONS( 2 )             -
                 REUSE                         -
                 VOLUMES( volid ))             -
           DATA                                -
                (NAME( CICSTS31.CICS.applid.DFHLCD.DATA )   -
                 KEYS( 28 0 )                  -
                 RECORDSIZE( 45 124 )          -                   3 
                 CONTROLINTERVALSIZE( 2048 ))  -
           INDEX (NAME( CICSTS31.CICS.applid.DFHLCD.INDEX ) )
/*
//*****************************************************************
//INITLCD EXEC PGM=DFHCCUTL
//*
//*            INITIALIZE THE CICS LOCAL CATALOG
//*
//STEPLIB   DD DSN=CICSTS31.CICS.SDFHLOAD,DISP=SHR
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//DFHLCD    DD DSN=CICSTS31.CICS.applid.DFHLCD,DISP=SHR
//*
//

Notes:

 1  If you are defining local catalogs for multiple CICS regions (for example, for active and alternate CICS regions when running with XRF), you can identify the clusters uniquely by making the specific APPLID of each CICS one of the data set qualifiers. For example, you could use the following names for the clusters of active and alternate CICS regions, where DBDCCIC1 and DBDCCIC2 are the specific APPLIDs:

DEFINE CLUSTER -
       (NAME( CICSTS31.CICS.DBDCCIC1.DFHLCD)

  ·
  ·
  ·
DEFINE CLUSTER - (NAME( CICSTS31.CICS.DBDCCIC2.DFHLCD)
  ·
  ·
  ·

 2  Space for about 200 records should be adequate for the local catalog, but also specify space for secondary extents as a contingency allowance.

 3  The local catalog records are small by comparison with the global catalog. Use the record sizes shown, which, in conjunction with the number of records specified, ensure enough space for the data set.

Job control statement for CICS execution

If you define the local catalog using the sample job in Figure 15, the data definition statement for the CICS execution is:

//DFHLCD  DD  DSN=CICSTS31.CICS.applid.DFHLCD,DISP=OLD
[[ Contents Previous Page | Next Page Index ]]