IBM Support

PH63356: SUPPRESS WHEN ZERO PHRASE IS NOT WORKING WITH TABLES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • SUPPRESS WHEN ZERO phrase is not working with arrays. The COBOL
    Run-time fails to use the normalize value for numeric values
    used in COBOL table contexts, and inadvertently uses the
    non-normalized value.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 5 and later        *
    *                 releases running programs which              *
    *                 use the JSON GENERATE statement with the     *
    *                 SUPPRESS WHEN ZERO phrase for numeric        *
    *                 data items in tables.                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: When the JSON GENERATE statement is     *
    *                      used with SUPPRESS WHEN ZERO phrase     *
    *                      to suppress numeric data items in       *
    *                      tables and the suppression condition    *
    *                      is met, the zero value is suppressed    *
    *                      successfully, but a comma is still      *
    *                      present in the generated JSON data.     *
    *                                                              *
    *                      For example, given the following        *
    *                      code snippets                           *
    *                                                              *
    *                      01 TBL1.                                *
    *                         02 COMP1 occurs 3 times comp-1.      *
    *                      ...                                     *
    *                                                              *
    *                      MOVE 123  TO COMP1(1)                   *
    *                      MOVE ZERO TO  COMP1(2) COMP1(3)         *
    *                      JSON GENERATE JSONTXT FROM TBL1         *
    *                          SUPPRESS WHEN ZERO                  *
    *                      END-JSON                                *
    *                                                              *
    *                      The generated JSON text (incorrect) is: *
    *                      {"TBL1":{"COMP1":[1.23000000E+02,,]}}   *
    *                                                              *
    *                      The expected JSON text (correct) is:    *
    *                      {"TBL1":{"COMP1":[1.23000000E+02]}}     *
    ****************************************************************
    * RECOMMENDATION: Install the provided PTF.                    *
    ****************************************************************
    COBOL Runtime fails to use a normalized value when comparing
    data items in tables to a zero value in its internal logic.
    The data suppression is successful but the logic error
    inadvertently keeps a comma present.
    
    COB0501T/K COB0502T/K COB0601T/K COB0602T/K COB0603T/K
    COB0604T/K
    

Problem conclusion

  • The COBOL Runtime has been corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH63356

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7E0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-09-23

  • Closed date

    2024-10-22

  • Last modified date

    2024-11-03

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

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

    UI98841 UI98843

Modules/Macros

  • IGZCEV4  IGZCJNI2 IGZLLIBV IGZXAPI  IGZXCA31 IGZXCDA  IGZXD24
    IGZXDMR  IGZXJNI2 IGZXLPIO IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD
    IGZXLPKE IGZXLPKF IGZXLPKG IGZXPK2
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7D0 PSY UI98841

       UP24/10/31 P F410

  • R7E0 PSY UI98843

       UP24/10/31 P F410

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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7E0","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
03 November 2024