A fix is available
APAR status
Closed as program error.
Error description
CSQUTIL routine ActionCopyQueue makes a call to csquoffq with function func_copy. If this dataset becomes full, then the call to Put_Area_CSQUOUT will return with RC != 0, this will result in Put_Rec_CSQUOUT passing back the return code to ActionCopy. ActionCopy checks the return code and sets lCopyRes = FC_ERROR. It then exits the get_loop. Before returning control, it needs to close the queue which it was getting from, so calls csqusvcs with CSVCCLQ, which will result in csqusvcs calling internal proc CloseQueue. This will in all likelihood succeed and will set ugbl.lSvcRetC to 0. ActionCopy then overwrites lCopyRes (which is currently set to a copy failed return code) with the value in ugbl.lSvcRetC, which in all likelihood is zero! We then check lCopyRes, see FC_OK (0) and decide that the copy must have worked so increment ugbl.lQdone, which is what gets reported in message CSQU134I. This eventually leads us to returning RC=0 from CSQUTIL.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 1 Modification 0 and Release 2 * * Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: If an error occurs when CSQUTIL calls * * csquoffq to copy a data set then the * * return code may not reflect the error, * * incorrectly informing the user that * * the copy has been successful. * **************************************************************** The ActionCopy code in csquoffq which handles copying of a dataset returned a zero return code indicating success, even though an error had occurred and the dataset had not been successfully copied.
Problem conclusion
The code has been changed to check if an error has occurred during the ActionCopy procedure, and to only overwrite the value passed to the Return Code with 0 if an error has not occurred.
Temporary fix
Comments
APAR Information
APAR number
PH40128
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-08-25
Closed date
2022-03-30
Last modified date
2022-05-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI79953 UI79954
Modules/Macros
CSQUOFFQ
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100"}]
Document Information
Modified date:
04 May 2022