IBM Support

PK74108: ABEND0C4 DSNHSM10 AND MSGDSNH104I DURING PRECOMPILE WHEN MISSINGCORRELATION NAME FOR THE TABLE EXPRESSION

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • During precompile of this statement:
    
    EXEC SQL DECLARE C1 CURSOR with return for
               SELECT C1, C2
               FROM (SELECT DISTINCT C11 as C1, C22 as C2
                     FROM T1
                     WHERE C11 = 1 )   , SYSIBM.SYSDUMMY1
    <<== missing correlation name for the table expression  DSNH104I
    issued
               WHERE C1 =1
             END-EXEC.
    
    and ABEND0C4 in DSNHSM10 occurred.
    

Local fix

  • Add correlation name for table expression.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of the DB2 UDB for z/OS and OS/390     *
    *                 Precompiler                   810            *
    ****************************************************************
    * PROBLEM DESCRIPTION: The following SQL statement is missing  *
    *                      the required correlation name following *
    *                      the nested-table-expression:            *
    *                                                              *
    *                      SELECT C1, C2                           *
    *                      FROM (SELECT DISTINCT C11 as C1,        *
    *                                            C22 as C2         *
    *                            FROM T1                           *
    *                            WHERE C11 = 1 )   ,               *
    *                            SYSIBM.SYSDUMMY1                  *
    *                      WHERE C1 =1                             *
    *                                                              *
    *                      The precompiler should issue error      *
    *                      message DSNH104I message for the        *
    *                      invalid syntax, but ABEND0C4 occurs     *
    *                      instead.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Following is an example of a statement missing the correlation
    name that results in 0C4 abend during the precompile phase:
    
     EXEC SQL DECLARE C1 CURSOR WITH RETURN FOR
       SELECT C1, C2
       FROM (SELECT DISTINCT C11 as C1, C22 as C2
             FROM T1
             WHERE C11 = 1 )  , SYSIBM.SYSDUMMY1
       WHERE C1 =1
     END-EXEC.
    
    Below is correct syntax with a correlation name XXX:
    
     EXEC SQL DECLARE C1 CURSOR WITH RETURN FOR
       SELECT C1, C2
       FROM (SELECT DISTINCT C11 as C1, C22 as C2
             FROM T1
             WHERE C11 = 1 ) XXX  , SYSIBM.SYSDUMMY1
       WHERE C1 =1
     END-EXEC.
    
    The following abend occurs for the incorrect syntax instead
    of the expected DSNH104I error message:
    
    IEA995I SYMPTOM DUMP OUTPUT  366
    SYSTEM COMPLETION CODE=0C4  REASON CODE=00000004
     TIME=14.30.40  SEQ=00030  CPU=0000  ASID=002A
     PSW AT TIME OF ERROR  078D0001   800373A0  ILC 6  INTC 04
       ACTIVE LOAD MODULE   ADDRESS=00007000  OFFSET=000303A0
       NAME=DSNHPC
       DATA AT PSW  0003739A - E3302020  0024E330  40280024
       AR/GR 0: 80CDD890/00000025   1: 00000000/001738D8
             2: 00000000/00000000   3: 00000000/0781FC70
             4: 00000000/07802298   5: 00000000/00121C18
             6: 00000000/006BFFE0   7: 00000000/0011ECF2
             8: 00000000/0000021C   9: 00000000/00170D90
             A: 00000000/00173920   B: 00000000/00038830
             C: 00000000/001702B8   D: 00000000/00173920
             E: 00000000/0011D66E   F: 00000000/000372E0
     END OF SYMPTOM DUMP
    

Problem conclusion

  • The DB2 precompiler is modified to avoid referencing a bad
    pointer caused by a prior error (DSNH104I in this case),
    so that it can continue validating the rest of the syntax.
    
    After the fix is applied, the precompiler will issue the
    following error message for the missing correlation name:
    
    DSNH104I E DSNHSM10 LINE nn COL nn  ILLEGAL SYMBOL "<EMPTY>".
             SOME SYMBOLS THAT MIGHT BE LEGAL ARE: CORRELATION NAME
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK74108

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    810

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-10-20

  • Closed date

    2008-11-03

  • Last modified date

    2008-12-02

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

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

    UK41294

Modules/Macros

  • DSNHSM10
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • R810 PSY UK41294

       UP08/11/19 P F811

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

Document Information

Modified date:
02 December 2008