A fix is available
APAR status
Closed as program error.
Error description
A misleading reason code made it difficult to determine that an application message had a mismatch between the data and the MQMD.CodedCharSetID. When the application read this message with MQGMO_ACCEPT_TRUNCATED_MSG, IBM MQ returned MQRC_TRUNCATED_MSG_ACCEPTED (MQRC 2079 - the message length was too large to fit into the supplied buffer). This was despite the fact that the message length was 600 bytes and buffer was 90,000 bytes. When the application read this message without MQRC_TRUNCATED_MSG_ACCEPTED, IBM MQ returned the correct MQRC_DBCS_ERROR (MQRC 2150 - error in conversion). The root cause of the conversion failure was that the MQMD indicated the message data was UTF-8 (CCSID 1208) when it was in fact EBCDIC character data. UTF-8 characters are multiple bytes, so as the conversion progresses through the message, some of the data will be converted from multiple bytes into a single byte. The problem occurred when the conversion code reached the end of the data. The end of the message data was arranged such that the message looked like it ended with a multiple byte character that was truncated. MQ's low level conversion code returned CSQA_DBCS_ERROR to indicate that an invalid multiple byte character was encountered. This gets mapped to either MQRC_DBCS_ERROR or MQRC_TRUNCATED_MSG_ACCEPTED depending on whether MQGMO_ACCEPT_TRUNCATED_MSG was specified on the MQGET. MQRC_DBCS_ERROR is an accurate return code for this error, because the conversion code was unable to resolve a multiple byte character. MQRC_TRUNCATED_MSG_ACCEPTED suggests that the message had to be truncated to fit into the output buffer. All of the documentation for this return code says that the resolution here is to increase the output buffer size, which will not make a difference in this instance.
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 1 Modification 0, Release 2 * * Modification 0 and Release 3 Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: When doing an MQGET with a mismatch * * between the character data and the * * associated CodedCharSetId, the return * * code MQRC_TRUNCATED_MSG_ACCEPTED * * can be incorrectly returned. * **************************************************************** If the MQGMO_ACCEPT_TRUNCATED_MSG MQGMO option field is set when a double-byte character set conversion error occurs, the reason code CSQA_DBCS_ERROR resolves to MQRC_TRUNCATED_MSG_ACCEPTED. This leads the user to the incorrect problem resolution in the IBM documentation.
Problem conclusion
The code has been changed to resolve CSQA_DBCS_ERROR to MQRC_DBCS_ERROR when a double-byte character set conversion error has occurred and the MQGMO_ACCEPT_TRUNCATED_MSG MQGMO option field is set.
Temporary fix
Comments
APAR Information
APAR number
PH43015
Reported component name
IBM MQ Z/OS V9
Reported component ID
5655MQ900
Reported release
100
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-12-23
Closed date
2023-01-16
Last modified date
2023-03-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI90085 UI90086 UI90087
Modules/Macros
CMQXCVCA CSQAADM6 CSQACIC6 CSQADED6 CSQAIMS6 CSQAIMSV CSQAIVS6 CSQAMDE6 CSQARFH6 CSQARMH6 CSQASAP6 CSQASTR CSQASTR6 CSQATRG6 CSQAWLM6
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
R100 PSY UI90087
UP23/02/04 P F302
R200 PSY UI90086
UP23/02/04 P F302
R300 PSY UI90085
UP23/02/04 P F302
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
01 March 2023