IBM Support

PI52582: OPT(1) CAUSING RUNTIME ERROR AS BRANCH BACK TO CODE AFTER PERFORM UNTIL IS NOT GENERATED.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Multiple NOT NUMERIC conditions inside a PERFORM UNTIL results
    in a missing branch back to code after PERFORM UNTIL statement.
    This causes runtime errors as control flows into code after
    procedure that is the target of the PERFORM.
    

Local fix

  • Use OPT(0).
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V5.1 compiling     *
    *                 programs that contain multiple conditional   *
    *                 clauses for a 'PERFORM UNTIL' where one or   *
    *                 more of the clauses is 'IS NUMERIC', using   *
    *                 compiler options OPT(1) or OPT(2).           *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Runtime abend or unexpected behavior.   *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    An 'IS NUMERIC' clause for a PERFORM UNTIL loop would alter the
    control flow of the program when an 'IS NUMERIC' clause is
    converted to an internal switch statement. In some cases this
    could cause the control flow to lose track of the PERFORM return
    statement and cause fall through to post loop code, instead of a
    branch back to the loop header.
    

Problem conclusion

  • The compiler was updated to properly keep track of the PERFORM
    return statement in cases where the conditional statement of a
    PERFORM changes control flow.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI52582

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655W3200

  • Reported release

    510

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-11-16

  • Closed date

    2015-12-09

  • Last modified date

    2016-01-15

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

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

    PI55481

Modules/Macros

  • IGYCBE
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R510 PSY UI33661

       UP15/12/16 P F512

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

Document Information

Modified date:
15 January 2016