2111 (083F) (RC2111): MQRC_SOURCE_CCSID_ERROR
Explanation
The coded character-set identifier from which character data is to be converted is not valid or not supported.
This can occur on the MQGET call when the MQGMO_CONVERT
option is included in the GetMsgOpts
parameter; the coded
character-set identifier in error is the CodedCharSetId
field
in the message being retrieved. In this case, the message data is returned
unconverted, the values of the CodedCharSetId
and Encoding
fields in the MsgDesc
parameter are
set to those of the message returned, and the call completes with MQCC_WARNING.
This reason can also occur on the MQGET call when
the message contains one or more MQ header structures (MQCIH, MQDLH, MQIIH,
MQRMH), and the CodedCharSetId
field in the message specifies
a character set that does not have SBCS characters for the characters that
are valid in queue names. MQ header structures containing such characters
are not valid, and so the message is returned unconverted. The Unicode character
set UCS-2 is an example of such a character set.
If the message consists of several parts, each of which is described by
its own CodedCharSetId
and Encoding
fields
(for example, a message with format name MQFMT_DEAD_LETTER_HEADER), some parts
may be converted and other parts not converted. However, the values returned
in the various CodedCharSetId
and Encoding
fields
always correctly describe the relevant message data.
This reason can also occur on the MQXCNVC call; the
coded character-set identifier in error is the SourceCCSID
parameter.
Either the SourceCCSID
parameter specifies a value that
is not valid or not supported, or the SourceCCSID
parameter
pointer is not valid. (It is not always possible to detect parameter pointers
that are not valid; if not detected, unpredictable results occur.)
Completion Code
MQCC_WARNING or MQCC_FAILED
Programmer response
Check the character-set identifier that was specified when the message
was put, or that was specified for the SourceCCSID
parameter
on the MQXCNVC call. If this is correct, check that
it is one for which queue-manager conversion is supported. If queue-manager
conversion is not supported for the specified character set, conversion must
be carried out by the application.