IBM Support

PH25371: Unnecessary conversion to packed decimal and back to binary when moving from COMP-5 doubleword to doubleword

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When moving from a PIC 9(18) COMP-5 (unsigned doubleword native
    binary) item to another item of the same attributes, the
    compiler generates a lengthy conversion to packed decimal and
    back to binary. While the results are correct, this holdover
    from earlier compilers is redundant for native binary and could
    be replaced by a simple direct move for better performance.
    
    This conversion process may also lead to intermediate value
    truncation taking place, which in contexts where hardware
    overflow is enabled can lead to noticeably poor performance at
    ARCH(12), due to the runtime needing to ignore the overflow per
    COBOL semantics.
    

Local fix

  • Compile at ARCH(11)
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling and  *
    *                 running programs that contain a MOVE         *
    *                 statement involving a COMP-5 sender with a   *
    *                 decimal precision of 0 and an integer        *
    *                 precision of at least 10 and a COMP-5        *
    *                 receiver of any valid precision.             *
    ****************************************************************
    * PROBLEM DESCRIPTION: Compiler issues warning messages        *
    *                      'MSGIGYCB7318-W A reference-modifier    *
    *                      start value exceeded the number of      *
    *                      characters in X' or 'MSGIGYCB7317-W     *
    *                      A reference-modification length value   *
    *                      caused reference to be made beyond the  *
    *                      rightmost character of X'.              *
    ****************************************************************
    * RECOMMENDATION: Apply the IBM-provided PTF.                  *
    ****************************************************************
    The compiler was generating unnecessary conversion of the COMP-5
    sender to packed decimal and eventually back to binary as part
    of the move operation.
    

Problem conclusion

  • The compiler has been updated to avoid generating unnecessary
    conversions for moves involving COMP-5 senders and receivers
    that have a decimal precision of 0.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH25371

  • 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

    2020-05-13

  • Closed date

    2020-05-20

  • Last modified date

    2020-06-01

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

    PH24430

  • 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 IGYCOB2E IGYCOPI  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 UI69624

       UP20/05/27 P F005

  • R631 PSY UI69625

       UP20/05/27 P F005

  • R632 PSY UI69626

       UP20/05/27 P F005

  • R63H PSY UI69627

       UP20/05/27 P F005

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

Document Information

Modified date:
12 December 2023