IBM Support

PI85244: When using TRUNC(OPT), the compiler shouldn't assume that binary data items fit their decimal digit picture clauses

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With the additional optimization that COBOL v5+ does, code may
    be eliminated under TRUNC(OPT) based on the maximum number of
    decimal digits in a non-native binary (BINARY, COMP, COMP-4)
    data item, code that was not eliminated under the previous
    compilers.
    

Local fix

  • Compile with OPT(0) or TRUNC(BIN).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.1 compiling and  *
    *                 running programs that are compiled with the  *
    *                 OPT(1|2) and TRUNC(OPT) options and have a   *
    *                 binary data item (i.e., USAGE BINARY, COMP,  *
    *                 or COMP-4) that contains data that does not  *
    *                 conform to its PIC clause.                   *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Migration issue/Incorrect runtime       *
    *                      results. Results of execution can be    *
    *                      different from previous compilers when  *
    *                      TRUNC(OPT) is used without following    *
    *                      the rules for TRUNC(OPT) which require  *
    *                      the data to not exceed the maximum      *
    *                      number of digits in the PICTURE clause  *
    *                      definition of the data item.            *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    The compiler was sometimes inadvertently assuming that binary
    data items conform to their PIC clause for programs compiled
    with TRUNC(OPT) and OPT(1|2).
    

Problem conclusion

  • The compiler was updated to ensure that for programs compiled
    with TRUNC(OPT) there is never an assumption made that binary
    data items conform to their PIC clause.  This will ease
    migration from pre-V5 compilers to V6.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI85244

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-07-31

  • Closed date

    2017-08-18

  • Last modified date

    2020-11-02

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

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

    UI49694 UI49695 UI49696 PI87655 PI90560

Modules/Macros

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

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R610 PSY UI49694

       UP17/08/25 P F708

  • R611 PSY UI49695

       UP17/08/26 P F708

  • R612 PSY UI49696

       UP17/08/26 P F708

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023