IBM Support

PH19232: WHEN "SET TO FALSE" CLAUSE USED AGAINST NEGATIVE NUMBERS IT GIVES A WRONG OUTPUT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When "SET TO FALSE" clause used against negative numbers it
    gives a wrong output.
    
    Sample code :
    ============================================================
    
    05 VAR_A PIC S9.
     88
    VAR_A_OK VALUE ZERO
     WHEN SET TO FALSE IS -1.
    
    Results :
    
    The
    expected results should be -1 instead the result is 0.
    ============================================================
    

Local fix

  • Local Fix is to change VALUE ZERO to VALUE 0.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.3 compiling and *
    *                 running programs that contain the newly      *
    *                 added features of WHEN SET TO FALSE and SET  *
    *                 xxx TO FALSE with a condition-name           *
    *                 definition that has a figurative constant    *
    *                 for the true value.                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: After a SET CN TO FALSE statement the   *
    *                      conditional variable CV1 has the true   *
    *                      value and not the FALSE value if the    *
    *                      condition-name is defined something     *
    *                      like this:                              *
    *                       05 CV1 PIC S9.                         *
    *                       88 CN VALUE ZERO                       *
    *                                                              *
    *                       WHEN SET TO FALSE IS -1.               *
    *                      and this SET is executed:               *
    *                       SET CN TO FALSE                        *
    ****************************************************************
    * RECOMMENDATION: Install the provided PTF and recompile.      *
    ****************************************************************
    The compiler was getting confused by the figurative constant
    since there were some bits that did not get reset for the WHEN
    FALSE phrase.
    

Problem conclusion

  • The compiler was changed to reset the bits for condition-names
    before the WHEN FALSE processing, and now the SET statement
    executes with correct results after recompile.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH19232

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    630

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-11-14

  • Closed date

    2019-11-26

  • Last modified date

    2020-01-03

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

    PH18368

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

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT 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 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 IGYDRV   IGYEQCWI IGYMSGE  IGYMSGK  IGYMSGT  IGYQCBE
    IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI66646

       UP19/12/04 P F912

  • R631 PSY UI66647

       UP19/12/04 P F912

  • R632 PSY UI66648

       UP19/12/04 P F912

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":"630","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023