IBM Support

PI56129: SYNTAX ERRORS ARE NOT DETECTED BY COBOL PRECOMPILER WHEN DATA ITEMS FOLLOW AN SQL END-EXEC

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Data items which follow an SQL END-EXEC several times with no
    reference are not treated as invalid syntax by COBOL
    precompiler.
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 10 and 11 for z/OS users of          *
    *                 the DB2 precompiler with COBOL               *
    *                 applications.                                *
    ****************************************************************
    * PROBLEM DESCRIPTION: DB2 precompiler with a COBOL            *
    *                      application does not get any syntax     *
    *                      error when an SQL END-EXEC is followed  *
    *                      by invalid data items without a period  *
    *                      specified after END-EXEC.               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    No syntax error may be issued when invalid data items appear
    after an END-EXEC statement:
    
    Example:
    WORKING-STORAGE SECTION.
    .
    .
    01 IS-THIS-AN-ERROR PIC X.
    01 MYVAR2 PIC X(26).
    
    PROCEDURE DIVISION.
    
    PERFORM SQL-SELECT.
    GOBACK.
    
    SQL-SELECT SECTION.
    
    EXEC SQL
    SELECT CURRENT TIMESTAMP AS DUMMY INTO :MYVAR2
    FROM SYSIBM.SYSDUMMY1
    END-EXEC         <<-- Invalid data items follow
    IS-THIS-AN-ERROR      END-EXEC and there is no
    IS-THIS-AN-ERROR      period after END-EXEC
    IS-THIS-AN-ERROR
    IS-THIS-AN-ERROR
    display MYVAR2
    .
    SQL-SELECT-EXIT.
    EXIT.
    
    The above COBOL precompiler generated listing code will look
    like below but no syntax error message is displayed.
         PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE
         CALL 'DSNHLI' USING SQL-PLIST1
            IS-THIS-AN-ERROR
            IS-THIS-AN-ERROR
            IS-THIS-AN-ERROR
            display MYVAR2
            .
    
    After the fix, the DB2 precompiler generates listing
    code with the END-CALL phrase, the DSNHPC precompiler
    return code will be changing from 04 to 00, and the
    IGYCRCTL COBOL compiler will issue error message
    IGYPS2072-S for the invalid data items.
         PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE
         CALL 'DSNHLI' USING SQL-PLIST1
         END-CALL             <-- END-CALL phrase generated to
            IS-THIS-AN-ERROR      separate SQL-PLIST and invalid
            IS-THIS-AN-ERROR      data items.
            IS-THIS-AN-ERROR
    
            display MYVAR2
            .
    

Problem conclusion

  • DB2 precompiler code has been enhanced to generate the
    END-CALL phrase for DSNHLI, DSNHLI2, and DSNHLIR.
    DB2 does not need to be restarted after applying this fix.
    
    Additional keywords: COBOL DSNHLI DSNHLI2 DSNHLIR
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI56129

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-01-29

  • Closed date

    2016-03-16

  • Last modified date

    2016-04-05

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

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

    UI36264 UI36265

Modules/Macros

  • DSNHSTMC
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UI36264

       UP16/03/31 P F603

  • RB10 PSY UI36265

       UP16/03/31 P F603

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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"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":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
05 April 2016