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.