IBM Support

PH04979: THE CBL COMPILER MAY TRUNCATE THE BINARY VALUE TO MATCH ITS PICTURE CLAUSE BEFORE A COMPARISON.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The compiler was assuming that binary data would be valid and
    wouldn't exceed the picture clause, so it could be truncated
    before a comparison without affecting the results.
    
    The compiler was fixed to provide compatibility with COBOL V4.2
    and earlier, even when invalid data was used, by not truncating
    binary data before a comparison any more than COBOL V4.2 would
    truncate (e.g. to match the size of the COMP-3 or USAGE DISPLAY
    data being compared against).
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5.2 using         *
    *                 TRUNC(STD|OPT) comparing BINARY/COMP/COMP-4  *
    *                 data items to USAGE DISPLAY or COMP-3 data   *
    *                 items where the binary data item contains a  *
    *                 value larger than its picture clause and     *
    *                 the COMP-3 or USAGE DISPLAY data item has    *
    *                 more digits specified in its picture clause  *
    *                 than the binary data item.                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: The compiler may truncate the binary    *
    *                      value to match its picture clause       *
    *                      before a comparison. If the data item   *
    *                      contains a value exceeding its picture  *
    *                      clause, the comparison may have a       *
    *                      different result than Enterprise COBOL  *
    *                      V4.2 and earlier.                       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF and use ZONEDATA(MIG) *
    *                 if you previously used NUMPROC(MIG) in       *
    *                 COBOL V4.2 and earlier, or ZONEDATA(NOPFD)   *
    *                 otherwise.                                   *
    ****************************************************************
    The compiler was assuming that binary data would be valid and
    wouldn't exceed the picture clause, so it could be truncated
    before a comparison without affecting the results.
    

Problem conclusion

  • The compiler was fixed to provide compatibility with COBOL V4.2
    and earlier, even when invalid data was used, by not truncating
    binary data before a comparison any more than COBOL V4.2 would
    truncate (e.g. to match the size of the COMP-3 or USAGE DISPLAY
    data being compared against).
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH04979

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655W3200

  • Reported release

    520

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-11-06

  • Closed date

    2018-12-12

  • Last modified date

    2019-01-11

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

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

    PH06040 PH07210

Modules/Macros

  • IGY8RWTU IGYCBE   IGYCCBE  IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG
    IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5
    IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT IGYCJA$0
    IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCJA$D
    IGYCJA$R IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1
    IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOSCN IGYCPGEN IGYCRCTL
    IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT  IGYCSCAN IGYCSIMD IGYCUE$0
    IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D
    IGYCUE$R IGYCXREF IGYECWI  IGYMSGE  IGYMSGK  IGYMSGT
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R520 PSY UI60238

       UP18/12/18 P F812

  • R521 PSY UI60239

       UP18/12/19 P F812

  • R522 PSY UI60240

       UP18/12/19 P F812

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
11 January 2019