Field details for MQSMPO

The MQSMPO Set message property options structure allows applications to specify options that control how properties of messages are set. The structure is an input parameter on the MQSETMP call.

StrucId (MQCHAR4)

This is the structure identifier of the set message property options structure. It is always an input field. Its value is MQSMPO_STRUC_ID.

The value must be:
MQSMPO_STRUC_ID

Identifier for the set message property options structure.

For the C programming language, the constant MQSMPO_STRUC_ID_ARRAY is also defined. This has the same value as MQSMPO_STRUC_ID, but is an array of characters instead of a string.

Version (MQLONG)

This is the structure version number; the value must be:

MQSMPO_VERSION_1
Version-1 set message property options structure.

The following constant specifies the version number of the current version:

MQSMPO_CURRENT_VERSION
Current version of set message property options structure.

This is always an input field. The initial value of this field is MQSMPO_VERSION_1.

Options (MQLONG)

Location options

The following options relate to the relative location of the property compared to the property cursor:
MQSMPO_SET_FIRST
Sets the value of the first property that matches the specified name, or if it does not exist, adds a new property after all other properties with a matching hierarchy.
MQSMPO_SET_PROP_UNDER_CURSOR
Sets the value of the property pointed to by the property cursor. The property pointed to by the property cursor is the one that was last inquired using either the MQIMPO_INQ_FIRST or the MQIMPO_INQ_NEXT option.

The property cursor is reset when the message handle is reused on an MQGET call, or when the message handle is specified in the MsgHandle field of the MQGMO or MQPMO structure on an MQPUT call.

If this option is used when the property cursor has not yet been established or if the property pointer to by the property cursor has been deleted, the call fails with completion code MQCC_FAILED and reason code MQRC_PROPERTY_NOT_AVAILABLE.

MQSMPO_SET_PROP_BEFORE_CURSOR
Sets a new property before the property pointed to by the property cursor. The property pointed to by the property cursor is the one that was last inquired using either the MQIMPO_INQ_FIRST or the MQIMPO_INQ_NEXT option.

The property cursor is reset when the message handle is reused on an MQGET call, or when the message handle is specified in the MsgHandle field of the MQGMO or MQPMO structure on an MQPUT call.

If this option is used when the property cursor has not yet been established or if the property pointer to by the property cursor has been deleted, the call fails with completion code MQCC_FAILED and reason code MQRC_PROPERTY_NOT_AVAILABLE.

MQSMPO_SET_PROP_AFTER_CURSOR
Sets a new property after the property pointed to by the property cursor. The property pointed to by the property cursor is the one that was last inquired using either the MQIMPO_INQ_FIRST or the MQIMPO_INQ_NEXT option.

The property cursor is reset when the message handle is reused on an MQGET call, or when the message handle is specified in the MsgHandle field of the MQGMO or MQPMO structure on an MQPUT call.

If this option is used when the property cursor has not yet been established or if the property pointer to by the property cursor has been deleted, the call fails with completion code MQCC_FAILED and reason code MQRC_PROPERTY_NOT_AVAILABLE.

MQSMPO_APPEND_PROPERTY
Causes a new property to be added after all other properties with a matching hierarchy. If at least one property exists which matches the specified name, then a new property is added at the end after the end of that list of properties.

This option allows a list of properties with the same name to be created.

If you need none of the options described, use the following option:
MQSMPO_NONE
No options specified.

This is always an input field. The initial value of this field is MQSMPO_SET_FIRST.

ValueEncoding (MQLONG)

The encoding of the property value to be set if the value is numeric.

This is always an input field. The initial value of this field is MQENC_NATIVE.

ValueCCSID (MQLONG)

The character set of the property value to be set if the value is a character string.

This is always an input field. The initial value of this field is MQCCSI_APPL.