Change, Copy, and Create CF Structure on z/OS
The Change CF Structure command changes existing CF application structures. The Copy and Create CF Structure commands create new CF application structures - the Copy command uses attribute values of an existing CF application structure.
Note: These commands are supported only on z/OS when the queue manager is a member of a queue sharing group.The Change CF Structure (MQCMD_CHANGE_CF_STRUC) command changes the specified attributes in a CF application structure. For any optional parameters that are omitted, the value does not change.
The Copy CF Structure (MQCMD_COPY_CF_STRUC) command creates new CF application structure using, for attributes not specified in the command, the attribute values of an existing CF application structure.
The Create CF Structure (MQCMD_CREATE_CF_STRUC) command creates a CF application structure. Any attributes that are not defined explicitly are set to the default values on the destination queue manager.
Required parameters (Change and Create CF Structure)
- CFStrucName (MQCFST)
- The name of the CF application structure with backup and recovery parameters that we want to
define (parameter identifier: MQCA_CF_STRUC_NAME).
The maximum length of the string is MQ_CF_STRUC_NAME_LENGTH.
Required parameters (Copy CF Structure)
- FromCFStrucName (MQCFST)
- The name of the CF application structure to be copied from (parameter identifier:
MQCACF_FROM_CF_STRUC_NAME).
The maximum length of the string is MQ_CF_STRUC_NAME_LENGTH.
- ToCFStrucName (MQCFST)
- The name of the CF application structure to copy to (parameter identifier:
MQCACF_TO_CF_STRUC_NAME).
The maximum length of the string is MQ_CF_STRUC_NAME_LENGTH.
Optional parameters (Change, Copy, and Create CF Structure)
- CFConlos (MQCFIN)
- Specifies the action to be taken when a queue manager loses connectivity to the CF structure
(parameter identifier: MQIA_CF_CFCONLOS).
The value can be any of the following values:
- MQCFCONLOS_ASQMGR
- The action taken is based on the setting of the CFCONLOS queue manager attribute. This value is the default for newly created CF structure objects with CFLEVEL(5).
- MQCFCONLOS_TERMINATE
- The queue manager terminates when connectivity to the structure is lost. This value is the default if the CF structure object is not at CFLEVEL(5), and for existing CF structure objects that are changed to CFLEVEL(5).
- MQCFCONLOS_TOLERATE
- The queue manager tolerates loss of connectivity to the structure without terminating.
This parameter is only valid from CFLEVEL(5).
- CFLevel (MQCFIN)
- The functional capability level for this CF application structure (parameter identifier:
MQIA_CF_LEVEL).
Specifies the functional capability level for the CF application structure. The value can be any
of the following values:
- 1
- A CF structure that can be "auto-created" by a queue manager at command level 520.
- 2
- A CF structure at command level 520 that can only be created or deleted by a queue manager at command level 530 or greater.
- 3
-
A CF structure at command level 530. This CFLevel is required if we want to use persistent messages on shared queues, or for message grouping, or both. This level is the default CFLevel for queue managers at command level 600.
We can only increase the value of CFLevel to 3 if all the queue managers in the queue sharing group are at command level 530 or greater - this restriction is to ensure that there are no latent command level 520 connections to queues referencing the CF structure.
We can only decrease the value of CFLevel from 3 if all the queues that reference the CF structure are both empty (have no messages or uncommitted activity) and closed.
- 4
-
This CFLevel supports all the CFLevel (3) functions. CFLevel (4) allows queues defined with CF structures at this level to have messages with a length greater than 63 KB.
Only a queue manager with a command level of 600 can connect to a CF structure at CFLevel (4).
We can only increase the value of CFLevel to 4 if all the queue managers in the queue sharing group are at command level 600 or greater.
We can only decrease the value of CFLevel from 4 if all the queues that reference the CF structure are both empty (have no messages or uncommitted activity) and closed.
- 5
-
This CFLevel supports all the CFLevel (4) functions. CFLevel (5) allows persistent, and nonpersistent messages to be selectively stored in Db2 or shared message data sets.
Structures are required to be at CFLEVEL(5) to support toleration of loss of connectivity.
For more information, see Where are shared queue messages held?.
- CFStrucDesc (MQCFST)
- The description of the CF structure (parameter identifier: MQCA_CF_STRUC_DESC).
The maximum length is MQ_CF_STRUC_DESC_LENGTH.
- DSBlock (MQCFIN)
- The logical block size for shared message data sets (parameter identifier:
MQIACF_CF_SMDS_BLOCK_SIZE ).
The unit in which shared message data set space is allocated to individual queues. The value can be any of the following values:
- MQDSB_8K
- The logical block size is set to 8 K.
- MQDSB_16K
- The logical block size is set to 16K.
- MQDSB_32K
- The logical block size is set to 32 K.
- MQDSB_64K
- The logical block size is set to 64 K.
- MQDSB_128K
- The logical block size is set to 128 K.
- MQDSB_256K
- The logical block size is set to 256 K.
- MQDSB_512K
- The logical block size is set to 512 K.
- MQDSB_1024K
- The logical block size is set to 1024 K.
- MQDSB_1M
- The logical block size is set to 1 M.
Value can not be set unless CFLEVEL(5) is defined.
The default value is 256 K unless CFLEVEL is not 5. In this case a value of 0 is used.
- DSBufs (MQCFIN)
- The shared message data set buffers group (parameter identifier: MQIA_CF_SMDS_BUFFERS).
Specifies the number of buffers to be allocated in each queue manager for accessing shared message data sets. The size of each buffer is equal to the logical block size.
A value in the range 1 - 9999.
Value can not be set unless CFLEVEL(5) is defined.
- DSEXPAND (MQCFIN)
- The shared message data set expand option (parameter identifier: MQIACF_CF_SMDS_EXPAND).
Specifies whether or not the queue manager should expand a shared message data set when it is nearly full, and further blocks are required in the data set. The value can be any of the following values:
- MQDSE_YES
- The data set can be expanded.
- MQDSE_NO
- The data set cannot be expanded.
- MQDSE_DEFAULT
- Only returned on DISPLAY CFSTRUCT when not explicitly set
Value can not be set unless CFLEVEL(5) is defined.
- DSGroup (MQCFST)
- The shared message data set group name (parameter identifier: MQCACF_CF_SMDS_GENERIC_NAME).
Specifies a generic data set name to be used for the group of shared message data sets associated with this CF structure.
The string must contain exactly one asterisk ('*'), which will be replaced with the queue manager name of up to 4 characters.
The maximum length of this parameter is 44 characters.
Value can not be set unless CFLEVEL(5) is defined.
- Offload (MQCFIN)
- Specifies whether offloaded message data is to be stored in a group of shared message data sets
or in Db2 (parameter identifier: MQIA_CF_OFFLOAD).
The value can be:
- MQCFOFFLD_DB2
- Large shared messages can be stored in Db2.
- MQCFOFFLD_SMDS
- Large shared messages can be stored in z/OS shared message data sets.
Value can not be set unless CFLEVEL(5) is defined.
For existing CF structure objects that are changed to CFLEVEL(5) the default is MQCFOFFLD_DB2.
For newly created CF structure objects with CFLEVEL(5) the default is MQCFOFFLD_SMDS.
For more information about the group of parameters (OFFLDxSZ and OFFLDxTH), see Specify offload options for shared message data sets
- OFFLD1SZ (MQCFST)
- The offload size property 1 (parameter identifier: MQCACF_CF_OFFLOAD_SIZE1)
Specifies the first offload rule, based on upon message size and the coupling facility structure percentage use threshold. This property indicates the size of the messages to be offloaded. The property is specified as a string with values in the range 0K - 64K.
The default value is 32K. This property is used with OFFLD1TH.
Value can not be set unless CFLEVEL(5) is defined.
The value 64K indicates that the rule is not being used.
The maximum length is 3.
- OFFLD2SZ (MQCFST)
- The offload size property 2 (parameter identifier: MQCACF_CF_OFFLOAD_SIZE2)
Specifies the second offload rule, based on upon message size and the coupling facility structure percentage use threshold. This property indicates the size of the messages to be offloaded. The property is specified as a string with values in the range 0K - 64K.
The default value is 4K. This property is used with OFFLD2TH.
Value can not be set unless CFLEVEL(5) is defined.
The value 64K indicates that the rule is not being used.
The maximum length is 3.
- OFFLD3SZ (MQCFST)
- The offload size property 3 (parameter identifier: MQCACF_CF_OFFLOAD_SIZE3)
Specifies the third offload rule, based on upon message size and the coupling facility structure percentage use threshold. This property indicates the size of the messages to be offloaded. The property is specified as a string with values in the range 0K - 64K.
The default value is 0K. This property is used with OFFLD3TH.
Value can not be set unless CFLEVEL(5) is defined.
The value 64K indicates that the rule is not being used.
The maximum length is 3.
- OFFLD1TH (MQCFIN)
- The offload threshold property 1 (parameter identifier: MQIA_CF_OFFLOAD_THRESHOLD1)
Specifies the first offload rule, based on upon message size and the coupling facility structure percentage use threshold. This property indicates the coupling facility structure percentage full.
The default value is 70. This property is used with OFFLD1SZ.
Value can not be set unless CFLEVEL(5) is defined.
- OFFLD2TH (MQCFIN)
- The offload threshold property 2 (parameter identifier: MQIA_CF_OFFLOAD_THRESHOLD2)
Specifies the second offload rule, based on upon message size and the coupling facility structure percentage use threshold. This property indicates the coupling facility structure percentage full.
The default value is 80. This property is used with OFFLD2SZ.
Value can not be set unless CFLEVEL(5) is defined.
- OFFLD3TH (MQCFIN)
- The offload threshold property 3 (parameter identifier: MQIA_CF_OFFLOAD_THRESHOLD3)
Specifies the third offload rule, based on upon message size and the coupling facility structure percentage use threshold. This property indicates the coupling facility structure percentage full.
The default value is 90. This property is used with OFFLD3SZ.
Value can not be set unless CFLEVEL(5) is defined.
- Recauto (MQCFIN)
- Specifies the automatic recovery action to be taken when a queue manager detects that the
structure is failed, or when a queue manager loses connectivity to the structure and no systems in
the sysplex have connectivity to the coupling facility that the structure is allocated in (parameter
identifier: MQIA_CF_RECAUTO).
The value can be:
- MQRECAUTO_YES
- The structure and associated shared message data sets which also need recovery are automatically recovered. This value is the default for newly created CF structure objects with CFLEVEL(5).
- MQRECAUTO_NO
- The structure is not automatically recovered. This value is the default if the CF structure object is not at CFLEVEL(5), and for existing CF structure objects that are changed to CFLEVEL(5).
This parameter is only valid from CFLEVEL(5).
- Recovery (MQCFIN)
- Specifies whether CF recovery is supported for the application structure (parameter identifier:
MQIA_CF_RECOVER).
The value can be:
- MQCFR_YES
- Recovery is supported.
- MQCFR_NO
- Recovery is not supported.
- Replace (MQCFIN)
- Replace attributes (parameter identifier: MQIACF_REPLACE).
If a CF structure definition with the same name as
ToCFStrucName exists, this value specifies whether it is to be
replaced. The value can be any of the following values:
- MQRP_YES
- Replace existing definition.
- MQRP_NO
- Do not replace existing definition.
Parent topic: Definitions of the Programmable Command Formats