2120 (0848) (RC2120): MQRC_CONVERTED_MSG_TOO_BIG
Explanation
On an MQGET call with the MQGMO_CONVERT option included
in the GetMsgOpts
parameter, the message data expanded
during data conversion and exceeded the size of the buffer provided by the
application. However, the message had already been removed from the queue
because prior to conversion the message data could be accommodated in the
application buffer without truncation.
The message is returned unconverted, with the CompCode
parameter
of the MQGET call set to MQCC_WARNING. If the message
consists of several parts, each of which is described by its own character-set
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 character-set and encoding fields always correctly
describe the relevant message data.
This reason can also occur on the MQXCNVC call, when
the TargetBuffer
parameter is too small too accommodate
the converted string, and the string has been truncated to fit in the buffer.
The length of valid data returned is given by the DataLength
parameter;
in the case of a DBCS string or mixed SBCS/DBCS string, this length may be less than the length of TargetBuffer
.
Completion Code
MQCC_WARNING
Programmer response
For the MQGET call, check that the exit is converting
the message data correctly and setting the output length DataLength
to the appropriate value. If it is, the application issuing the MQGET call must provide a larger buffer for the Buffer
parameter.
For the MQXCNVC call, if the string must be converted without truncation, provide a larger output buffer.