A fix is available
APAR status
Closed as program error.
Error description
The FFST is occurring due to being unable to convert the MQPMO structure. When an MQPMO is received, the character fields are converted from their received CCSID (1208 - ASCII in this case) to the CCSID of the system (500 - EBCDIC). Since the ResolvedQMgrName and ResolvedQName are output only fields, queue manager doesn't convert them upon receipt, and instead rely on them being populated during the proceeding MQPUT. The queue manager subsequently convert all of the character fields back (EBCDIC to ASCII) before returning them to the sender. Most of the time this is fine, since the MQPUT will populate the ResolvedQMgrName and ResolvedQName fields with EBCDIC data which can be converted as required. However, in this case, the put is to an ALIAS queue which resolves to a TOPIC, so the queue manager doesn't fill in the ResolvedQMgrName and ResolvedQName fields. This leads the queue manager to thinking that they must be in EBCDIC, but they're actually still in ASCII (since conversion was skipped before). This is what causes the conversion problems and the FFST.
Local fix
Explicitly set the ResolvedQMgrName and ResolvedQName fields to '00'x
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 0 Modification 0, Release 1 * * Modification 0 and Release 2 Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: When putting a message from an ASCII * * environment to an alias queue which * * resolves to a topic, if the output-only * * MQPMO fields ResolvedQName or * * ResolvedQMgrName contain certain ASCII * * characters, then CSQX053E and CSQX541E * * messages may be issued in the CHIN. The * * CSQX053E message is accompanied by an * * FFST. * * * * In this scenario the application will * * also receive an MQRC 2009 * * (MQRC_CONNECTION_BROKEN). Depending on * * the syncpoint options on the MQPUT, the * * publish to the topic may or may not * * have succeeded. * **************************************************************** The problem occurs when converting the MQPMO character fields ResolvedQName and ResolvedQMgrName. Since they are output-only fields, they are not converted to the QMGR CCSID before the MQPUT, instead only being converted to the client CCSID after they have been populated by the MQPUT. When the MQPUT is to an alias queue which resolves to a topic, these fields do not get populated, meaning that they will be interpreted as EBCDIC characters for the conversion back to ASCII. Depending on the original ASCII characters present in these fields, this conversion may fail.
Problem conclusion
The code has been changed to treat the conversion of the MQPMO output-only fields correctly when putting to an alias queue to a topic.
Temporary fix
Comments
APAR Information
APAR number
PH29385
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
2020-09-10
Closed date
2020-12-02
Last modified date
2021-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI72878 UI72879 UI72880
Modules/Macros
CMQXRSRV
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
R000 PSY UI72878
UP21/01/28 P F101
R100 PSY UI72879
UP21/01/28 P F101
R200 PSY UI72880
UP21/01/28 P F101
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.
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100"}]
Document Information
Modified date:
02 February 2021