Defining transaction dump data sets

You must define the data sets in the CICS® startup job stream with the DD names DFHDMPA and DFHDMPB. If you define a single data set only, its DD name must be DFHDMPA.

About this task

You can either define DFHDMPA and DFHDMPB as temporary data sets for each CICS run, or allocate and catalog the data sets in advance to reuse them repeatedly.

Procedure

  1. Code the DUMPDS system initialization parameter to specify which transaction dump data set is to be opened during CICS initialization.
    If you specify DUMPDS=AUTO, CICS opens, on a warm or emergency start, the data set that was not in use when CICS was last terminated. This lets you restart CICS after an abnormal termination without waiting to print the dump data set that was in use at termination.
  2. Optional: If you want to encrypt the data sets, see Encrypting data sets.
  3. Allocate the dump data sets. You can do this in one of two ways:
    • Use the sample data definition statements to allocate and catalog dump data sets on disk.
    • Use the CICS-supplied job DFHDEFDS to allocate and catalog the dump data sets.

    If you select to use the sample job, edit the statements as follows:

    1. Change the space allocations in this sample job stream to suit your own installation's needs.
    2. If you are running CICS with XRF, allocate different data sets for the alternate.
    3. If you use tape for recording dump output, use unlabeled tape.
      Standard-labeled tape, whether on a single tape drive or on two tape drives, stops you processing the contents of any of the volumes with the CICS transaction dump utility program, DFHDUnnn until after the CICS step has been completed. If you want to use standard-labeled tape, make sure that all the output produced in the CICS run fits on the one or two volumes mounted.

      You cannot catalog dump data sets defined on unlabeled tapes. Your data set definitions must be in the CICS startup job stream each time CICS is run.

    Figure 1. Sample job control statements for defining disk dump data sets
    //DFHDMPA  DD  DSN=CICSTS62.CICS.applid.DFHDMPA,DISP=(NEW,CATLG),
    //             UNIT=3380,VOL=SER=volid,SPACE=(CYL,(25))
    //DFHDMPB  DD  DSN=CICSTS62.CICS.applid.DFHDMPB,DISP=(NEW,CATLG),
    //             UNIT=3380,VOL=SER=volid,SPACE=(CYL,(25))

    In Figure 1, the prefix of the data set reflects the release of CICS TS, and the release level is assumed to be CICS TS 6.2.

  4. Optional: To copy dump data sets to tape or disk, specify DCB parameters on the DD statements when allocating and cataloging the dump data sets, as follows:
    //         DCB=(RECFM=VB,BLKSIZE=4096,LRECL=4092)
  5. Include the following DD statements in the CICS startup job stream.
    In the example DD statements shown below, the data set names have prefixes that reflect the release of CICS TS, and the release level is assumed to be CICS TS 6.2.
    • If you have cataloged the transaction dump data sets, add the following DD statement:
      //DFHDMPA  DD  DSN=CICSTS62.CICS.applid.DFHDMPA,DISP=SHR
      //DFHDMPB  DD  DSN=CICSTS62.CICS.applid.DFHDMPB,DISP=SHR

      DISP=SHR enables each data set, if held on disk, to be processed by the CICS transaction dump utility program, DFHDUnnn after the switch to the other data set has taken place. DFHDUnnn is an offline utility that has a unique release identifier in its name. For example, it is DFHDU750 for CICS TS 6.2.

    • If you have put the transaction dump data sets on unlabeled tapes, add the following DD statement:
      //DFHDMPA  DD  DSN=CICSTS62.CICS.applid.DFHDMPA,UNIT=3400,VOL=SER=volid1,
      //         DISP=(NEW,KEEP),LABEL=(,NL)
      //DFHDMPB  DD  DSN=CICSTS62.CICS.applid.DFHDMPB,UNIT=3400,VOL=SER=volid2,
      //         DISP=(NEW,KEEP),LABEL=(,NL)

Results

CICS always attempts to open at least one transaction dump data set during initialization. If you do not include a DD statement for at least one transaction dump data set in your CICS job, initialization continues after message DFHDU0306 is sent to the console.

When CICS opens the dump data set, it issues a z/OS DEVTYPE macro. This returns the track size for direct access devices, or 32760 for magnetic tape. The maximum block size used for a transaction dump is the lesser of the values returned from the DEVTYPE macro and 4096. As this usually results in a block size of 4096 (because devices generally have a track size greater than this), CICS writes multiple blocks per track. After writing each block, z/OS returns the amount of space remaining on the current track. If the space remaining is 256 bytes or more, then the size of the next block written is the lesser of the values returned by z/OS and 4096.

If the space remaining is less than 256 bytes, the next block is written to the next track.