Home

 

Parameters

 

Hbag (MQHBAG) – input

Handle of the bag to be modified.

This must be the handle of a bag created by the user, and not the handle of a system bag; MQRC_SYSTEM_BAG_NOT_ALTERABLE results if it is a system bag.

Selector (MQLONG) – input

Selector identifying the user item to be deleted.

If the selector is less than zero (that is, a system selector), MQRC_SELECTOR_OUT_OF_RANGE results.

The following special values are valid:

MQSEL_ANY_SELECTOR

The item to be deleted is a user item identified by the ItemIndex parameter, the index relative to the set of items that contains both user and system items.

MQSEL_ANY_USER_SELECTOR

The item to be deleted is a user item identified by the ItemIndex parameter, the index relative to the set of user items.

If an explicit selector value is specified, but the selector is not present in the bag, the call succeeds if MQIND_ALL is specified for ItemIndex, and fails with reason code MQRC_SELECTOR_NOT_PRESENT if MQIND_ALL is not specified.

ItemIndex (MQLONG) – input

Index of the data item to be deleted.

The value must be zero or greater, or one of the following special values:

MQIND_NONE

This specifies that there must be one occurrence only of the selector in the bag. If there is more than one occurrence, MQRC_SELECTOR_NOT_UNIQUE results. If MQIND_NONE is specified with one of the MQSEL_XXX_SELECTOR values, MQRC_INDEX_ERROR results.

MQIND_ALL

This specifies that all occurrences of the selector in the bag are to be deleted. If MQIND_ALL is specified with one of the MQSEL_XXX_SELECTOR values, MQRC_INDEX_ERROR results. If MQIND_ALL is specified when the selector is not present within the bag, the call succeeds.

If MQSEL_ANY_SELECTOR is specified for the Selector parameter, the ItemIndex parameter is the index relative to the set of items that contains both user items and system items, and must be zero or greater. If ItemIndex identifies a system selector MQRC_SYSTEM_ITEM_NOT_DELETABLE results. If MQSEL_ANY_USER_SELECTOR is specified for the Selector parameter, the ItemIndex parameter is the index relative to the set of user items, and must be zero or greater.

If an explicit selector value is specified, ItemIndex is the index relative to the set of items that have that selector value, and can be MQIND_NONE, MQIND_ALL, zero, or greater.

If an explicit index is specified (that is, not MQIND_NONE or MQIND_ALL) and the item is not present in the bag, MQRC_INDEX_NOT_PRESENT results.

CompCode (MQLONG) – output

Completion code.

Reason (MQLONG) – output

Reason code qualifying CompCode.

The following reason codes indicating error conditions can be returned from the mqDeleteItem call:

MQRC_HBAG_ERROR

Bag handle not valid.

MQRC_INDEX_ERROR

MQIND_NONE or MQIND_ALL specified with one of the MQSEL_ANY_XXX_SELECTOR values.

MQRC_INDEX_NOT_PRESENT

No item with the specified index is present within the bag.

MQRC_SELECTOR_NOT_PRESENT

No item with the specified selector is present within the bag.

MQRC_SELECTOR_NOT_UNIQUE

MQIND_NONE specified when more than one occurrence of the specified selector is present in the bag.

MQRC_SELECTOR_OUT_OF_RANGE

Selector not within valid range for call.

MQRC_STORAGE_NOT_AVAILABLE

Insufficient storage available.

MQRC_SYSTEM_BAG_NOT_ALTERABLE

System bag is read only and cannot be altered.

MQRC_SYSTEM_ITEM_NOT_DELETABLE

System item is read only and cannot be deleted.

 

Parent topic:

mqDeleteItem


pc16700_


 

Home