Change, Copy, and Create Storage Class on z/OS

The Change Storage Class command changes existing storage class definitions. The Copy and Create Storage Class commands create new storage class definitions - the Copy command uses attribute values of an existing storage class definition.

The Change Storage Class (MQCMD_CHANGE_STG_CLASS) command changes the characteristics of a storage class. For any optional parameters that are omitted, the value does not change.

The Copy Storage Class (MQCMD_COPY_STG_CLASS) command creates a storage class to page set mapping using, for attributes not specified in the command, the attribute values of an existing storage class.

The Create Storage Class (MQCMD_CREATE_STG_CLASS) command creates a storage class to page set mapping. Any attributes that are not defined explicitly are set to the default values on the destination queue manager.


Required parameter (Change and Create Storage Class)

    StorageClassName (MQCFST)
    The name of the storage class to be changed or created (parameter identifier: MQCA_STORAGE_CLASS).

    The maximum length of the string is MQ_STORAGE_CLASS_LENGTH.


Required parameters (Copy Storage Class)

    FromStorageClassName (MQCFST)
    The name of the storage class to be copied from (parameter identifier: MQCACF_FROM_STORAGE_CLASS).

    On z/OS, the queue manager searches for an object with the name you specify and a disposition of MQQSGD_Q_MGR or MQQSGD_COPY to copy from. This parameter is ignored if a value of MQQSGD_COPY is specified for QSGDisposition. In this case, an object with the name specified by ToStorageClassName and the disposition MQQSGD_GROUP is searched for to copy from.

    The maximum length of the string is MQ_STORAGE_CLASS_LENGTH.

    ToStorageClassName (MQCFST)
    The name of the storage class to copy to (parameter identifier: MQCACF_TO_STORAGE_CLASS).

    The maximum length of the string is MQ_STORAGE_CLASS_LENGTH.


Optional parameters (Change, Copy, and Create Storage Class)

    CommandScope (MQCFST)
    Command scope (parameter identifier: MQCACF_COMMAND_SCOPE). Specifies how the command is executed when the queue manager is a member of a queue sharing group. We can specify one of the following:

    • blank (or omit the parameter altogether). The command is executed on the queue manager on which it was entered.
    • a queue manager name. The command is executed on the queue manager you specify, providing it is active within the queue sharing group. If you specify a queue manager name other than the queue manager on which it was entered, we must be using a queue sharing group environment, and the command server must be enabled.
    • an asterisk (*). The command is executed on the local queue manager and is also passed to every active queue manager in the queue sharing group.

    The maximum length is MQ_QSG_NAME_LENGTH.

    PageSetId (MQCFIN)
    Page set identifier that the storage class is to be associated with (parameter identifier: MQIA_PAGESET_ID).

    Specify a string of two numeric characters in the range 00 through 99.

    If we do not specify this parameter, the default is taken from the default storage class SYSTEMST.

    No check is made that the page set has been defined; an error is raised only if you try to put a message to a queue that specifies this storage class (MQRC_PAGESET_ERROR).

    PassTicketApplication (MQCFST)
    Pass ticket application (parameter identifier: MQCA_PASS_TICKET_APPL).

    The application name that is passed to RACF when authenticating the passticket specified in the MQIIH header.

    The maximum length is MQ_PASS_TICKET_APPL_LENGTH.

    QSGDisposition (MQCFIN)
    Disposition of the object within the group (parameter identifier: MQIA_QSG_DISP). Specifies the disposition of the object to which we are applying the command (that is, where it is defined and how it behaves). The value can be any of the following values:

    QSGDisposition Change Copy, Create
    MQQSGD_COPY The object definition resides on the page set of the queue manager that executes the command. The object was defined using a command that had the parameter MQQSGD_COPY. Any object residing in the shared repository, or any object defined using a command that had the parameters MQQSGD_Q_MGR, is not affected by this command. The object is defined on the page set of the queue manager that executes the command using the MQQSGD_GROUP object of the same name as the ToStorageClassName object (for Copy) or the StorageClassName object (for Create).
    MQQSGD_GROUP The object definition resides in the shared repository. The object was defined using a command that had the parameter MQQSGD_GROUP. Any object residing on the page set of the queue manager that executes the command (except a local copy of the object) is not affected by this command. If the command is successful, the following MQSC command is generated and sent to all active queue managers in the queue sharing group to attempt to refresh local copies on page set zero:
    DEFINE STGCLASS(storage-class)
    REPLACE QSGDISP(COPY)
    
    The Change for the group object takes effect regardless of whether the generated command with QSGDISP(COPY) fails.
    The object definition resides in the shared repository. This parameter is allowed only if the queue manager is in a queue sharing group. If the definition is successful, the following MQSC command is generated and sent to all active queue managers in the queue sharing group to attempt to make or refresh local copies on page set zero:
    DEFINE STGCLASS(storage-class)
    REPLACE QSGDISP(COPY)
    
    The Copy or Create for the group object takes effect regardless of whether the generated command with QSGDISP(COPY) fails.
    MQQSGD_PRIVATE The object resides on the page set of the queue manager that executes the command, and was defined with MQQSGD_Q_MGR or MQQSGD_COPY. Any object residing in the shared repository is unaffected. Not permitted.
    MQQSGD_Q_MGR The object definition resides on the page set of the queue manager that executes the command. The object was defined using a command that had the parameter MQQSGD_Q_MGR. Any object residing in the shared repository, or any local copy of such an object, is not affected by this command. This value is the default value. The object is defined on the page set of the queue manager that executes the command. This value is the default value.

    Replace (MQCFIN)
    Replace attributes (parameter identifier: MQIACF_REPLACE). If a storage class definition with the same name as ToStorageClassName exists, this parameter specifies whether it is to be replaced. The value can be:

      MQRP_YES
      Replace existing definition.

      MQRP_NO
      Do not replace existing definition.

    StorageClassDesc (MQCFST)
    The description of the storage class (parameter identifier: MQCA_STORAGE_CLASS_DESC).

    The maximum length is MQ_STORAGE_CLASS_DESC_LENGTH.

    XCFGroupName (MQCFST)
    XCF group name (parameter identifier: MQCA_XCF_GROUP_NAME).

    If we are using the IMS bridge, this parameter is the name of the XCF group to which the IMS system belongs.

    The maximum length is MQ_XCF_GROUP_NAME_LENGTH.

    XCFMemberName (MQCFST)
    XCF member name (parameter identifier: MQCA_XCF_MEMBER_NAME).

    If we are using the IMS bridge, this parameter is the XCF member name of the IMS system within the XCF group specified in XCFGroupName.

    The maximum length is MQ_XCF_MEMBER_NAME_LENGTH.

Parent topic: Definitions of the Programmable Command Formats