How the definitions are shown

The definitions of the Programmable Command Formats (PCFs) including their commands, responses, parameters, constants, and error codes are shown in a consistent format.

For each PCF command or response, there is a description of what the command or response does, giving the command identifier in parentheses. See Constants for all values of the command identifier. Each command description starts with a table that identifies the platforms on which the command is valid. For additional, more detailed, usage notes for each command, see the corresponding command description in the Definitions of the Programmable Command Formats.

IBM MQ products, other than IBM MQ for z/OS, can use the IBM MQ Administration Interface (MQAI), which provides a simplified way for applications written in the C and Visual Basic programming language to build and send PCF commands. For information about the MQAI see the second section of this topic.


Commands

The required parameters and the optional parameters are listed.

On Multiplatforms, the parameters must occur in this order:
  1. All required parameters, in the order stated, followed by
  2. Optional parameters as required, in any order, unless noted in the PCF definition.

On z/OS, the parameters can be in any order.


Responses

The response data attribute is always returned whether it is requested or not. This parameter is required to identify, uniquely, the object when there is a possibility of multiple reply messages being returned.

The other attributes shown are returned if requested as optional parameters on the command. The response data attributes are not returned in a defined order.


Parameters and response data

Each parameter name is followed by its structure name in parentheses (details are given in Structures for commands and responses ). The parameter identifier is given at the beginning of the description.


Constants

For the values of constants used by PCF commands and responses see Constants.


Informational messages

On z/OS, a number of command responses return a structure, MQIACF_COMMAND_INFO, with values that provide information about the command.

MQIACF_COMMAND_INFO value Meaning
MQCMDI_CMDSCOPE_ACCEPTED A command that specified CommandScope was entered. It has been passed to the one or more requested queue managers for processing
MQCMDI_CMDSCOPE_GENERATED A command that specified CommandScope was generated in response to the command originally entered
MQCMDI_CMDSCOPE_COMPLETED Processing for the command that specified CommandScope - either entered or generated by another command - has completed successfully on all requested queue managers
MQCMDI_QSG_DISP_COMPLETED Processing for the command that refers to an object with the indicated disposition has completed successfully
MQCMDI_COMMAND_ACCEPTED Initial processing for the command has completed successfully. The command requires further action by the channel initiator, for which a request has been queued. Messages reporting the success or otherwise of the action are be sent to the command issuer later
MQCMDI_CLUSTER_REQUEST_QUEUED Initial processing for the command has completed successfully. The command requires further action by the cluster repository manager, for which a request has been queued
MQCMDI_CHANNEL_INIT_STARTED A Start Channel Initiator command has been issued and the channel initiator address space has been started successfully
MQCMDI_RECOVER_STARTED The queue manager has successfully started a task to process the Recover CF Structure command for the named structure
MQCMDI_BACKUP_STARTED The queue manager has successfully started a task to process the Backup CF Structure command for the named structure
MQCMDI_RECOVER_COMPLETED The named CF structure has been recovered successfully. The structure is available for use again
MQCMDI_SEC_TIMER_ZERO The Change Security command was entered with the SecurityInterval attribute set to 0. This means that no user timeouts occur
MQCMDI_REFRESH_CONFIGURATION A Change Queue Manager command has been issued that enables configuration events. Event messages need to be generated to ensure that the configuration information is complete and up to date
MQCMDI_IMS_BRIDGE_SUSPENDED The MQ-IMS bridge facility is suspended.
MQCMDI_DB2_SUSPENDED The connection to Db2 is suspended
MQCMDI_DB2_OBSOLETE_MSGS Obsolete Db2 messages exist in the queue sharing group


Error codes

In z/OS, PCF commands can return MQRC reason codes instead of MQRCCF codes

MQRCCF codes are used in UNIX, Linux or Windows. At the end of most command format definitions, there is a list of error codes that might be returned by that command.


Error codes applicable to all commands

In addition to those error codes listed under each command format, any command might return the following error codes in the response format header (descriptions of the MQRC_* error codes are given in the Reason codes and IBM MQ for z/OS messages, completion, and reason codes documentation):

    Reason (MQLONG)
    The value can be any of the following values:

      MQRC_NONE
      (0, X'000') No reason to report.

      MQRC_MSG_TOO_BIG_FOR_Q
      (2030, X'7EE') Message length greater than maximum for queue.

      MQRC_CONNECTION_BROKEN
      (2009, X'7D9') Connection to queue manager lost.

      MQRC_NOT_AUTHORIZED
      (2035, X'7F3') Not authorized for access.

      MQRC_SELECTOR_ERROR
      (2067, X'813') Attribute selector not valid.

      MQRC_STORAGE_NOT_AVAILABLE
      (2071, X'817') Insufficient storage available.

      MQRC_UNKNOWN_OBJECT_NAME
      (2085, X'825') Unknown object name.

      MQRCCF_ATTR_VALUE_ERROR
      Attribute value not valid.

      MQRCCF_CFBF_FILTER_VAL_LEN_ERROR
      Filter value length not valid.

      MQRCCF_CFBF_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFBF_OPERATOR_ERROR
      Operator error.

      MQRCCF_CFBF_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFBS_DUPLICATE_PARM
      Duplicate parameter.

      MQRCCF_CFBS_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFBS_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFBS_STRING_LENGTH_ERROR
      String length not valid.

      MQRCCF_CFGR_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFGR_PARM_COUNT_ERROR
      Parameter count not valid.

      MQRCCF_CFGR_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFH_COMMAND_ERROR
      Command identifier not valid.

      MQRCCF_CFH_CONTROL_ERROR
      Control option not valid.

      MQRCCF_CFH_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFH_MSG_SEQ_NUMBER_ERR
      Message sequence number not valid.

      MQRCCF_CFH_PARM_COUNT_ERROR
      Parameter count not valid.

      MQRCCF_CFH_TYPE_ERROR
      Type not valid.

      MQRCCF_CFH_VERSION_ERROR
      Structure version number is not valid.

      MQRCCF_CFIF_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFIF_OPERATOR_ERROR
      Operator error.

      MQRCCF_CFIF_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFIL_COUNT_ERROR
      Count of parameter values not valid.

      MQRCCF_CFIL_DUPLICATE_VALUE
      Duplicate parameter.

      MQRCCF_CFIL_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFIL_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFIN_DUPLICATE_PARM
      Duplicate parameter.

      MQRCCF_CFIN_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFIN_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFSF_FILTER_VAL_LEN_ERROR
      Filter value length not valid.

      MQRCCF_CFSF_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFSF_OPERATOR_ERROR
      Operator error.

      MQRCCF_CFSF_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFSL_COUNT_ERROR
      Count of parameter values not valid.

      MQRCCF_CFSL_DUPLICATE_PARM
      Duplicate parameter.

      MQRCCF_CFSL_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFSL_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFSL_STRING_LENGTH_ERROR
      String length value not valid.

      MQRCCF_CFSL_TOTAL_LENGTH_ERROR
      Total string length error.

      MQRCCF_CFST_CONFLICTING_PARM
      Conflicting parameters.

      MQRCCF_CFST_DUPLICATE_PARM
      Duplicate parameter.

      MQRCCF_CFST_LENGTH_ERROR
      Structure length not valid.

      MQRCCF_CFST_PARM_ID_ERROR
      Parameter identifier not valid.

      MQRCCF_CFST_STRING_LENGTH_ERROR
      String length value not valid.

      MQRCCF_COMMAND_FAILED
      Command failed.

      MQRCCF_ENCODING_ERROR
      Encoding error.

      MQRCCF_MD_FORMAT_ERROR
      Format not valid.

      MQRCCF_MSG_SEQ_NUMBER_ERROR
      Message sequence number not valid.

      MQRCCF_MSG_TRUNCATED
      Message truncated.

      MQRCCF_MSG_LENGTH_ERROR
      Message length not valid.

      MQRCCF_OBJECT_NAME_ERROR
      Object name not valid.

      MQRCCF_OBJECT_OPEN
      Object is open.

      MQRCCF_PARM_COUNT_TOO_BIG
      Parameter count too large.

      MQRCCF_PARM_COUNT_TOO_SMALL
      Parameter count too small.

      MQRCCF_PARM_SEQUENCE_ERROR
      Parameter sequence not valid.

      MQRCCF_PARM_SYNTAX_ERROR
      Syntax error found in parameter.

      MQRCCF_STRUCTURE_TYPE_ERROR
      Structure type not valid.

      MQRCCF_UNKNOWN_OBJECT_NAME
      Unknown object name.

Parent topic: Definitions of the Programmable Command Formats