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=
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.