IBM Support

PI51378: RDZ PLI REAL-TIME SYNTAX CHECK RAISES INCORRECT ERROR ON SELECT CASE STATEMENT.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • RDz PLI real-time syntax check raises incorrect error on SELECT
    CASE statement.
    
    APAR Error Description
    ***************************************************************
    In Rational Developer for System z - RDz - v9.1.1.1, PLI
    real-time syntax check raises incorrect error on SELECT CASE
    statement.
    
    Steps to reproduce:
    
    1) create the following program in PLI editor:
    
    MYPROG: PROC() OPTIONS(MAIN);
       DEFAULT RANGE(*) STATIC;
       DCL INFO              CHAR (20)     INIT('START');
    
      EXEC SQL DECLARE TABLE1 TABLE
               ( COL1                           CHAR(10) NOT NULL,
               STATUS                           CHAR(1) NOT NULL,
               LABEL1                           CHAR(10) NOT NULL,
               LABEL2                           CHAR(10) NOT NULL,
               LABEL3                           CHAR(10) NOT NULL
               ) ;
      DCL 1 TABLE1,
          5 COL1     CHAR(10),
          5 STATUS     CHAR(1),
          5 LABEL1     CHAR(10),
          5 LABEL2     CHAR(10),
          5 LABEL3     CHAR(10);
    
    
       DISPLAY(INFO);
    
       EXEC SQL
         DECLARE mycursor CURSOR FOR
    
         SELECT T.COL1
               ,CASE T.STATUS
                 WHEN 'S' THEN T.LABEL1
                 WHEN 'V' THEN T.LABEL2
                 ELSE          T.LABEL3
                END
         FROM TABLE1 T;
    
    
    END MYPROG;
    
    
    2) Observe errors after SELECT T.COL1 statement
    - '"ExecContent" is invalid' on ELSE line
    - '"ExecContent" is invalid' on END line
    

Local fix

  • There is no known workaround at this time.
    

Problem summary

  • PL/I
    real-time syntax check raises incorrect error on SELECT CASE
    statement.
    
    Steps to reproduce:
    
    1) create the following program in PLI editor:
    
    P61804: PROC() OPTIONS(MAIN);
       DEFAULT RANGE(*) STATIC;
       DCL INFO              CHAR (20)     INIT('START');
    
      EXEC SQL DECLARE TABLE1 TABLE
               ( COL1                           CHAR(10) NOT NULL,
               STATUS                           CHAR(1) NOT NULL,
               LABEL1                           CHAR(10) NOT NULL,
               LABEL2                           CHAR(10) NOT NULL,
               LABEL3                           CHAR(10) NOT NULL
               ) ;
      DCL 1 TABLE1,
          5 COL1     CHAR(10),
          5 STATUS     CHAR(1),
          5 LABEL1     CHAR(10),
          5 LABEL2     CHAR(10),
          5 LABEL3     CHAR(10);
    
    
       DISPLAY(INFO);
    
       EXEC SQL
         DECLARE mycursor CURSOR FOR
    
         SELECT T.COL1
               ,CASE T.STATUS
                 WHEN 'S' THEN T.LABEL1
                 WHEN 'V' THEN T.LABEL2
                 ELSE          T.LABEL3
                END
         FROM TABLE1 T;
    
    
    END P61804;
    
    
    2) Observe errors
    - '"ExecContent" is invalid' on ELSE line
    - '"ExecContent" is invalid' on END line
    

Problem conclusion

  • Modified PL/I parser to properly handle ELSE and END keywords in
    SQL statements.
    
    The problem listed in this APAR has been resolved with
    IBM Rational Developer for System z V9.1.1.3 Fix Pack which
    is available from the Recommended Fixes support download page:
    http://www-1.ibm.com/support/docview.wss?rs=2294&uid=swg27006335
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI51378

  • Reported component name

    RATL DEV FOR SY

  • Reported component ID

    5724T0700

  • Reported release

    911

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-10-28

  • Closed date

    2016-02-25

  • Last modified date

    2016-02-25

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

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

Fix information

  • Fixed component name

    RATL DEV FOR SY

  • Fixed component ID

    5724T0700

Applicable component levels

  • R911 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSTRMM","label":"IBM Developer for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"911","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
14 October 2021