IBM Support

PH33355: ERROR WHEN CSQUDLQH IS INVOKED TO RETRY PUTTING THE MESSAGES ON THEIR DESTINATION QUEUES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When the DLH is in ASCII and the CONVERT(NO) rule is used.
    CSQUDLQH doesn't account for this, so ends up placing an ASCII
    Format field in the MQMD, when the rest of the MQMD is
    necessarily in EBCDIC.
    

Local fix

  • using the CONVERT(YES) rule can circumvent the issue
    

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: When running CSQUDLQH with the rules:   *
    *                      ACTION(RETRY) CONVERT(NO)               *
    *                      or                                      *
    *                      ACTION(FWD) FWDQ(...) HEADER(NO)        *
    *                                                              *
    *                      If the MQDLH is in ASCII, then CSQUDLQH *
    *                      will fail to put the message to the     *
    *                      destination queue. This will be         *
    *                      reported through the CSQU211I message   *
    *                      with reason MQRC_FORMAT_ERROR.          *
    *                                                              *
    *                      CSQUDLQH may similarly fail with reason *
    *                      MQRC_SOURCE_INTEGER_ENC_ERROR if the    *
    *                      MQDLH is little-endian.                 *
    ****************************************************************
    When CSQUDLQH is processing an action which requires the MQDLH
    to be stripped from the message, it will copy the Encoding,
    CodedCharSetId and Format from the MQDLH into the MQMD. A defect
    in the code causes CSQUDLQH to incorrectly handle an ASCII or
    little-endian MQDLH. This results in the message attempting to
    be put to the destination queue with an invalid header chain.
    
    The MQPUT header validation will detect the invalid header chain
    and reject the put. This will result in the UOW being backed
    out, leaving the message on the source queue.
    

Problem conclusion

  • The invalid header chaining performed by CSQUDLQH has been
    corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH33355

  • 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-01-13

  • Closed date

    2021-01-29

  • Last modified date

    2021-04-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI73683 UI73684

Modules/Macros

  • CSQUODQL
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R100 PSY UI73684

       UP21/03/03 P F103

  • R200 PSY UI73683

       UP21/03/03 P F103

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 April 2021