IBM Support

PI06899: NO COMPILER ERROR RECEIVED FOR ABBREVIATED IF STATEMENT WITH CONFUSION ABOUT IMPLIED SUBJECT.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Consider the following sequence:
    ...
            05 TEST-AAA            PIC X.
    ...
              MOVE LOW-VALUES TO TEST-AAA
              IF ((LIMIT-1 = ZERO
                AND LIMIT-2 > 001)
                OR LIMIT-1 > 001)
                AND TEST-AAA
                  INITIALIZE ERROR-MESSAGE.
    ...
    In this case the "AND TEST-AAA" is being interpreted as
        AND LIMIT-1 > TEST-AAA
    .
    Page 288 Enterprise COBOL for z/OS V4.1 Language Reference
    and page 275 of V5.1 Language Reference document
    "Insertion of the omitted subject or relational operator
    ends when: a. Another simple condition is encountered.
    b. A condition-name is encountered.
    c. A right parenthesis is encountered that matches a left
       parenthesis that appears to the left of the subject."
    ...
    The code includes:
    "OR LIMIT-1 > 001) AND TEST-AAA"
    Since "AND TEST-AAA" immediately follows a right paren,
    there should be no carry over of the subject or
    relational operator.  But the code is acting as if
    there is a carry over without any warning.
    *****
    The old OS/VS COBOL V1.2.4 compiler gives this error:
    IKF4084I-C ILLOGICAL USE OF PARENTHESES OR RELATIONALS
               ACCEPTED WITH DOUBTS AS TO MEANING.
    A similar message from Enterprise COBOL could be helpful.
    

Local fix

  • Spell out what TEST-AAA should be compared to.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V4 using IF        *
    *                 statements with multiple parentheses and     *
    *                 abbreviated combined relation conditions.    *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: The following illegal abbreviated       *
    *                      combined condition is not getting the   *
    *                      diagnostc message IGYPS2048-S:          *
    *                      ((A = ZERO AND B > 1) OR C > 1) AND D   *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    The compiler is not diagnosing a missing subject in a combined
    abbreviated ralation condition.
    

Problem conclusion

  • The compiler was modified to diagnose cases where a relational
    condition object was found but there is no active abbreviated
    combined condition subject.
    
    FIXCAT keyword:  COB0501T/K
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI06899

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655W3200

  • Reported release

    510

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-11-25

  • Closed date

    2014-01-15

  • Last modified date

    2014-02-05

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

    PI06021

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

Modules/Macros

  • IGYQPR03
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R510 PSY UI14448

       UP14/01/25 P F401

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:
05 February 2014