Defining a coupling facility data table pool

You define the list structure for a coupling facility data table (CFDT) in a coupling facility resource manager (CFRM) policy in a sysplex couple data set.

CICS accesses a CFDT pool, which can contain one or more CFDTs, through a server region using cross-memory services. For information about setting up and starting a coupling facility data table region, see Setting up and running a coupling facility data table server.

From the application perspective, a pool and its server are similar to a file-owning region, and the pool can contain any number of tables, provided that each table has a unique table name.

Before a CFDT server can use its pool, the active CFRM policy must contain a definition of the list structure to be used for the pool. The CFRM structure definition specifies the size of the list structure and the preference list of coupling facilities in which it can be stored. You must add a statement that specifies the list structure to a selected CFRM policy, and then activate the policy.

You use the CFRM policy definition utility, IXCMIAPU, to specify the size of the list structures required, and their placement in a coupling facility.

You create the name of the list structure for a CFDT pool by adding the prefix DFHCFLS_ to the pool name, giving DFHCFLS_poolname.

Using IXCMIAPU to update a policy

You can use the administrative data utility, IXCMIAPU, to update an administrative policy in the CFRM couple data set. The utility adds or changes policy data in the administrative policies only: it does not change any information in the system copy of the active CFRM policy.

For an example of a job to run this utility, see member IXCCFRMP in the SYS1.SAMPLIB library (see Administrative data utility for CFRM policy data in z/OS MVS Setting Up a Sysplex.

The following example shows a policy statement for a coupling facility data table pool.
   STRUCTURE NAME(DFHCFLS_PRODCFT1)
      SIZE(79872)
      INITSIZE(32768)
      PREFLIST(FACIL01,FACIL02)

Activating a CFRM policy

After you define a CFRM policy, you must activate that policy. Use the following MVS command:
SETXCF START,POLICY,POLNAME=policyname,TYPE=CFRM

Activating a CFRM policy that contains a definition of a list structure does not create the structure. The structure is created the first time an attempt is made to connect to it, which occurs when the first coupling facility data table (CFDT) server that refers to the corresponding pool is started.

When the CFDT server creates a list structure, the structure is allocated with an initial size, which can be increased up to a maximum size, as specified in the CFRM policy. All structure sizes are rounded up to the next storage increment for the coupling facility level (CFLEVEL) at allocation time. For example, sizes are rounded up to the nearest 1 MB for CFLEVEL 16.

Provided that space is available in the coupling facility, you can dynamically expand a list structure from its initial size up to its maximum size, or contract it to free up coupling facility space for other purposes.

If the initial structure allocation becomes full, the structure does not expand automatically, even if the structure allocated is less than the specified maximum size. To expand a list structure when the allocation becomes full, you can expand it (up to its maximum size) using the following SETXCF command:
SETXCF START,ALTER,STRNAME=DFHCFLS_poolname,SIZE=nnnn

If you dynamically increase the size of a list structure in this way, also update the CRFM INITSIZE parameter to reflect the new size, so that the structure does not revert to its original size if you subsequently re-create or reload it.