IBM Support

PI85287: MQ AMS interceptor does not emulate queue manager blank padding of MQMD format field

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • A discrepancy is observed in the handling of null (0x00) bytes
    in the MQMD format field when AMS interception is enabled.
    
    If an AMS policy is not defined, and the message is not
    protected whilst on the queue, the null bytes in the MQMD format
    field are converted to blank characters (for example, 0x20 in
    ASCII codepages) before being returned to the application during
    MQGET.
    
    If an AMS policy is defined, null byes are not converted, and
    remain present in the MQMD format field returned by MQGET.
    

Local fix

  • C sender application needs to be modified to set the md.Format
    to "MQFMT_NONE".
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 0 Modification 0 and Release 1       *
    *                 Modification 0.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: MQMD.Format is not blank padded when    *
    *                      messages are put/got using an AMS       *
    *                      protected queue.                        *
    *                                                              *
    *                      If the message contains any unprotected *
    *                      headers (for example, RFH2 headers),    *
    *                      the Format field in the last such       *
    *                      header is incorrectly set to blanks     *
    *                      (MQFMT_NONE).                           *
    ****************************************************************
    When a message is put/got using a protected queue, the Format
    field describing the message data is saved on MQPUT and restored
    on MQGET when AMS protects/unprotects the message data.
    
    At 900, the saved format is not blank padded when located in the
    MQMD.Format field, and is incorrectly set to MQFMT_NONE when
    located in a subsequent header.
    At 910, the saved format is not blank padded when located in the
    MQMD.Format field and set to nulls, and is incorrectly set to
    MQFMT_NONE when located in a subsequent header.
    

Problem conclusion

  • CSQ0CGET is changed to correctly blank pad the saved Format
    value when it is restored to MQMD.Format, and to restore the
    correct saved value when restoring to a subsequent header
    (e.g. MQRFH2.Format), matching the behaviour when the message
    is put/got using an unprotected queue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI85287

  • Reported component name

    MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-08-01

  • Closed date

    2019-02-13

  • Last modified date

    2019-05-02

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

    IT21338

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

    UI61267 UI61268

Modules/Macros

  • CSQ0CGET
    

Fix information

  • Fixed component name

    MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R000 PSY UI61267

       UP19/04/11 P F904

  • R100 PSY UI61268

       UP19/04/11 P F904

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.



Document information

More support for: IBM MQ

Software version: 9.0

Reference #: PI85287

Modified date: 02 May 2019