Defining the intrapartition data set

You can either use the sample job described here to define the transient data intrapartition data set, or you can use the CICS®-supplied job, DFHDEFDS. DFHDEFDS creates the DFHINTRA data set as one of the data sets for a CICS region.

The intrapartition data set must be big enough to hold all the data for intrapartition queues. See Size of the intrapartition data set for more information.

Intrapartition data set restrictions:

An intrapartition data set used as a transient data queue must be associated with only one CICS region.

CICS stores the relative byte addresses (RBAs) of records written to an intrapartition data set used as a transient data queue, and you must take care to preserve the RBAs during any VSAM export or import operation on the data set.

Data can be corrupted or lost if you start CICS with the wrong intrapartition data set; that is, a data set that contains data from another CICS region.

Data can be corrupted or lost if you use VSAM export or import services to increase the available space by compressing the data set, or to increase the control interval size.

Do not use the extended addressing entry-sequenced data set (ESDS) format for an intrapartition data set.

Procedure

If you are using the sample job to define the transient data intrapartition data set, perform the following steps:

  1. Decide if a single extent data set on a single volume is appropriate.
    If you define one extent on one volume, you might require a much larger data set than your average requirements to cater for exceptional cases. You can define multiple extents or multiple volumes or both for the data set. The job control statements in Figure 1 are for a single extent data set defined on a single volume. That data set must be big enough to hold all your data. For more information, see Defining data sets with multiple extents and volumes.
  2. Optional: If you want to encrypt the data set, see Encrypting data sets.
  3. Specify a CONTROLINTERVALSIZE parameter that is large enough to hold the longest data record, in addition to the 32 bytes that CICS requires for its own purposes. The maximum control interval size is 32 KB.
    Space is allocated to queues in units of a control interval (CI). The first CI is reserved for CICS use; the remaining CIs are available to hold data. Data records are stored in CIs according to VSAM standards.
  4. If you allocate space in records, rather than tracks or cylinders, you must specify a RECORDSIZE value.
    The value must be 7 bytes less than the CONTROLINTERVALSIZE.
  5. Add the data definition statement for the intrapartition data set to the CICS startup job stream.

    The DD name for the intrapartition data set is DFHINTRA, and the DSN operand must be the name of the VSAM entry-sequenced data set, as in the following example. In the example DD statement below, the prefix of the data set reflects the release of CICS TS, and the release level is assumed to be CICS TS 6.2.

    //DFHINTRA  DD  DSNAME=CICSTS62.CICS.applid.DFHINTRA,DISP={OLD|SHR}

Sample job to define a transient data intrapartition data set

In Figure 1, the high level qualifier (CICSTSnn.CICS) assumes the release level of CICS TS 6.2. You must adapt it for your own CICS release.

Figure 1. Sample job to define a transient data intrapartition data set
//DEFDS     JOB  accounting info,name,MSGCLASS=A
//TDINTRA   EXEC PGM=IDCAMS
//SYSPRINT  DD   SYSOUT=A
//SYSIN     DD   *
       DEFINE CLUSTER -
                ( NAME(CICSTS62.CICS.applid.DFHINTRA)    -
                  RECORDSIZE(1529,1529)            -
                  RECORDS(100)                     -
                  NONINDEXED                       -
                  CONTROLINTERVALSIZE(1536)        -
                  VOL(volid))                      -
              DATA  -
                ( NAME(CICSTS62.CICS.applid.DATA.DFHINTRA))
/*
//

What to do next

Use the TD system initialization parameter to specify an appropriate number of VSAM buffers and strings for the transient data intrapartition data set. CICS uses buffers to make control intervals from the data set available in CICS storage, and uses strings for VSAM I/O requests between a buffer and the data set. Typically, the default setting of three buffers and three strings is sufficient.