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 also occurs on the MQXCNVC call, when the
TargetBuffer
parameter is too small to 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.