IBM Support

PI95934: INCORRECT OUTPUT WITH NUMCHECK WHEN PASSING DATA BY CONTENT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With compiler option NUMCHECK(ZON,PAC,NOBIN,MSG) in effect,
    data being passed to another program BY CONTENT may get
    overlaid, causing data corruption.
    

Local fix

  • Pass data via BY REFERENCE
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.2 compiling     *
    *                 programs at OPT(0) that use                  *
    *                 NUMCHECK(ZON|PAC|BIN) and pass USAGE         *
    *                 DISPLAY/PACKED-DECIMAL/BINARY data BY        *
    *                 CONTENT, or programs that use SSRANGE and    *
    *                 pass reference-modified data or items in a   *
    *                 table BY CONTENT.                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Data being passed to another program    *
    *                      via CALL BY CONTENT may be overwritten  *
    *                      by other data being passed BY CONTENT   *
    *                      on the same CALL.                       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    In a call BY CONTENT, the compiler creates temporary variables
    to contain the values being passed, so the called program
    doesn't change data in the caller. The compiler has an
    optimization to reuse temporary variables when possible.
    NUMCHECK and SSRANGE checks were changing the compiler's
    internal state so that it no longer identified some temporary
    data items as being used by the CALL. Data for multiple
    parameters might be copied to the same temporary variable,
    giving it an incorrect value.
    

Problem conclusion

  • The compiler was fixed to correctly identify when temporary
    variables are used on the same CALL statement even when
    NUMCHECK or SSRANGE checks are generated for parameters being
    passed to other programs.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI95934

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    620

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-03-28

  • Closed date

    2018-05-28

  • Last modified date

    2018-06-04

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

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

    PI96227 PI97560

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCDOPT 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 IGYCOB2
    IGYCOPI  IGYCOPT  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  IGYZQDRV
    IGYZQENU IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R620 PSY UI56120

       UP18/06/01 P F805

  • R621 PSY UI56121

       UP18/06/01 P F805

  • R622 PSY UI56122

       UP18/06/01 P F805

  • R62H PSY UI56123

       UP18/06/01 P F805

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

Document Information

Modified date:
12 December 2023