Defining the CFRM policy

To enable shared queues, you must define a CFRM policy that contains structure names and attributes for all message queues. If you use Fast Path and share EMH queues, you must also include structure names and attributes for EMHQ structures.

Be sure that the structure names you define in the CFRM policy for message queues and any optional EMH queues are also defined in the following places:

  • The shared-queues IMS.PROCLIB member data set (DFSSQxxx) parameters MSGQ= (and EMHQ= if you are sharing EMH queues)
  • The CQS local structure definition PROCLIB member data set (CQSSLxxx) parameter STRNAME=
  • The CQS global structure definition PROCLIB member data set (CQSSGxxx) parameters STRNAME= and OVFLWSTR=
Recommendation: If possible, place high-use structures on separate coupling facilities. For example, place your IMS data-sharing structures on a different coupling facility from your shared-queues structures. Place your VSAM and Db2 for z/OS® structures on yet another coupling facility. You can place low-use structures (such as those for RACF®) on any coupling facility where space is available.

Related reading: For more information on definitions that are required to use CQS, see IMS Version 15.2 System Definition.

The following example shows a sample CFRM policy containing definitions of shared queues and a resource structure.

  //CFRMPLCY JOB MSGCLASS=A,REGION=2000K,CLASS=K 
  // MSGLEVEL=(1,1) 
  //***************************************************************************** 
  //* This JCL is used for configuration. INITSIZE is                           * 
  //* used for the primary MSGQ and EMHQ structures.                            * 
  //***************************************************************************** 
  //* 2 CF                                                                      * 
  //***************************************************************************** 
  //POLICY EXEC PGM=IXCM2APU 
  //STEPLIB DD DSN=SYS1.MIGLIB,DISP=SHR 
  //SYSPRINT DD SYSOUT=A 
  //SYSIN DD * 

  DATA TYPE(CFRM) 
  DEFINE POLICY 
             NAME(CONFIG01) 
             REPLACE(YES) 

       CF NAME (CF01) 
       TYPE(nnnnnn) 
       MFG(aa) 
       PLANT(nn) 
       SEQUENCE(nnnnnnnnnnnn) 
       PARTITION(n) 
       CPCID(nn) 

       CF NAME (CF02)
       TYPE(nnnnnn) 
       MFG(aa) 
       PLANT(nn) 
       SEQUENCE(nnnnnnnnnnnn) 
       PARTITION(n) 
       CPCID(nn)
           .
           .
           .

  STRUCTURE NAME(QMSGIMS01) 
           SIZE(16000) 
           INITSIZE(8000)
|          MINSIZE(8000) 
           PREFLIST(CF01,CF02) 
           REBUILDPERCENT(1) 
|          ALLOWAUTOALT(YES)
|          FULLTHRESHOLD(60)

  STRUCTURE NAME(QMSGIMS01OFLW) 
           SIZE(8000) 
|          MINSIZE(8000) 
           PREFLIST(CF01,CF02) 
           REBUILDPERCENT(1) 
|          ALLOWAUTOALT(YES)
|          FULLTHRESHOLD(60)

  STRUCTURE NAME(QEMHIMS01) 
           SIZE(16000) 
           INITSIZE(10000) 
|          MINSIZE(10000) 
           PREFLIST(CF01,CF02) 
           REBUILDPERCENT(1) 
|          ALLOWAUTOALT(YES)
|          FULLTHRESHOLD(60)

  STRUCTURE NAME(QEMHIMS01OFLW) 
           SIZE(8000) 
|          MINSIZE(8000) 
           PREFLIST(CF01,CF02) 
           REBUILDPERCENT(1)
|          ALLOWAUTOALT(YES)
|          FULLTHRESHOLD(60)
 
  STRUCTURE NAME(MVSLOGQMSG01) 
           SIZE(16000) 
           INITSIZE(11000) 
           PREFLIST(CF01,CF02) 

  STRUCTURE NAME(MVSLOGQEMH01) 
           SIZE(4000) 
           PREFLIST(CF01, CF02) 
           REBUILDPERCENT(1) 

  STRUCTURE NAME(QRSCIMS01) 
            SIZE(16000) 
            INITSIZE(8000) 
|           MINSIZE(8000) 
            ALLOWAUTOALT(YES) 
            FULLTHRESHOLD(60) 
            DUPLEX(ALLOWED) 
            PREFLIST(CF01,CF02)
              .
              .
              .

Defining message queue list structures

You must define the primary list structure, MSGQ, to IMS before using shared queues. You can optionally define the overflow structure.

In the example, STRUCTURE NAME(QMSGIMS01) defines a message queue structure, and STRUCTURE NAME(QMSGIMS01OFLW) defines an overflow structure for the QMSGIMS01 message queue.

Defining a resource structure

You must define a resource structure to use RM to share global status. In the example, STRUCTURE NAME(QRSCIMS01) defines a resource structure. For more information about how RM maintains global resource information, see Information managed by the CSL RM.

Defining Fast Path message queue list structures

If you define the MSGQ primary list structure on an IMS that has Fast Path defined, you can optionally define a primary list structure for shared EMH queues. This structure is called the EMHQ structure. You can then optionally define an EMHQ overflow structure.

If you define an EMHQ structure, Fast Path transactions can be processed by IMS systems in the shared-queues group. If you do not define an EMHQ structure, Fast Path transactions, if any, are only processed locally.

In the example, STRUCTURE NAME(QEMHIMS01) defines an EMHQ structure, and STRUCTURE NAME(QEMHIMS01OFLW) defines an overflow structure for the QEMHIMS01 EMH queue.