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