MQAI selectors
Items in bags are identified by a selector that acts as an identifier for the item. There are two types of selector, user selector and system selector.
User selectors
User selectors have values that are zero or positive. For the administration of MQSeries objects, valid user selectors are already defined by the following constants:- MQCA_* and MQIA_* (object attributes)
- MQCACF_* and MQIACF_* (items relating specifically to PCF)
- MQCACH_* and MQIACH_* (channel attributes)
For user messages, the meaning of a user selector is defined by the application.
The following additional user selectors are introduced by the MQAI:
- MQIACF_INQUIRY
- Identifies an IBM MQ object attribute to be returned by an Inquire command.
- MQHA_BAG_HANDLE
- Identifies a bag handle residing within another bag.
- MQHA_FIRST
- Lower limit for handle selectors.
- MQHA_LAST
- Upper limit for handle selectors.
- MQHA_LAST_USED
- Upper limit for last handle selector allocated.
- MQCA_USER_LIST
- Default user selector. Supported on Visual Basic only. This selector supports character type and represents the default value used if the Selector parameter is omitted on the mqAdd*, mqSet*, or mqInquire* calls.
- MQIA_USER_LIST
- Default user selector. Supported on Visual Basic only. This selector supports integer type and represents the default value used if the Selector parameter is omitted on the mqAdd*, mqSet*, or mqInquire* calls.
System selectors
System selectors have negative values. The following system selectors are included in the bag when it is created:
- MQIASY_BAG_OPTIONS
- Bag-creation options. A summation of the options used to create the bag. This selector cannot be changed by the user.
- MQIASY_CODED_CHAR_SET_ID
- Character-set identifier for the character data items in the bag. The initial value is the queue
manager's character set.
The value in the bag is used on entry to the mqExecute call and set on exit from the mqExecute call. This also applies when character strings are added to or modified in the bag.
- MQIASY_COMMAND
- PCF command identifier. Valid values are the MQCMD_* constants. For user messages, the value
MQCMD_NONE should be used. The initial value is MQCMD_NONE.
The value in the bag is used on entry to the mqPutBag and mqBagToBuffer calls, and set on exit from the mqExecute, mqGetBag and mqBufferToBag calls.
- MQIASY_COMP_CODE
- Completion code. Valid values are the MQCC_* constants. The initial value is MQCC_OK.
The value in the bag is used on entry to the mqExecute, mqPutBag, and mqBagToBuffer calls, and set on exit from the mqExecute, mqGetBag, and mqBufferToBag calls.
- MQIASY_CONTROL
- PCF control options. Valid values are the MQCFC_* constants. The initial value is MQCFC_LAST.
The value in the bag is used on entry to the mqExecute, mqPutBag, and mqBagToBuffer calls, and set on exit from the mqExecute, mqGetBag, and mqBufferToBag calls.
- MQIASY_MSG_SEQ_NUMBER
- PCF message sequence number. Valid values are 1 or greater. The initial value is 1.
The value in the bag is used on entry to the mqExecute, mqPutBag, and mqBagToBuffer calls, and set on exit from the mqExecute, mqGetBag, and mqBufferToBag calls.
- MQIASY_REASON
- Reason code. Valid values are the MQRC_* constants. The initial value is MQRC_NONE.
The value in the bag is used on entry to the mqExecute, mqPutBag, and mqBagToBuffer calls, and set on exit from the mqExecute, mqGetBag, and mqBufferToBag calls.
- MQIASY_TYPE
- PCF command type. Valid values are the MQCFT_* constants. For user messages, the value
MQCFT_USER should be used. The initial value is MQCFT_USER for bags created as user bags and
MQCFT_COMMAND for bags created as administration or command bags.
The value in the bag is used on entry to the mqExecute, mqPutBag, and mqBagToBuffer calls, and set on exit from the mqExecute, mqGetBag, and mqBufferToBag calls.
- MQIASY_VERSION
- PCF version. Valid values are the MQCFH_VERSION_* constants. The initial value is
MQCFH_VERSION_1.
If the value in the bag is set to a value other than MQCFH_VERSION_1, the value is used on entry to the mqExecute, mqPutBag, and mqBagToBuffer calls. If the value in the bag in MQCFH_VERSION_1, the PCF version is the lowest value required for the parameter structures that are present in the message.
The value in the bag is set on exit from the mqExecute, mqGetBag, and mqBufferToBag calls.
Parent topic: IBM MQ Administration Interface reference