IBM Support

PM95921: ABEND0C4 RC00000038 AT DSNLILLM DSNLCMRL OFFSET142E FOR A DISTRIBUTED SQL WITH NON ATOMIC MULTI-ROW INSERT AND LOB

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • ABEND0C4 RC00000038 at DSNLILLM DSNLCMRL OFFSET142E FOR A
    DISTRIBUTED SQL WITH NON ATOMIC MULTI-ROW INSERT AND LOB
    
    
    Additional keywords and symptoms:
    ********************************
    DB2DDF DDF DSNLILLM DSNLCMRL
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 9, DB2 10, and DB2 11 for z/OS users *
    *                 of non-atomic multirow insert (MRI) with LOB *
    *                 data in a distributed environment.           *
    ****************************************************************
    * PROBLEM DESCRIPTION: An ABEND0C4 RC00000038 at DSNLCMRL      *
    *                      offset 142E (offset142E) can occur      *
    *                      when a null LOB value is inserted into  *
    *                      a not null LOB column during a non-     *
    *                      atomic MRI operation at a remote DB2    *
    *                      server.  Instead, an SQLCODE -253       *
    *                      should be expected for the error        *
    *                      condition.                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An ABEND0C4 RC38 can occur at location DSNLCMRL offset 142E
    (offset142E) when a null LOB value is inserted into a not null
    LOB column during a non-atomic MRI (multi-row insert) operation
    at a remote DB2 server.  Instead, an SQLCODE -253 should be
    returned for the error condition.
    
    
    The following example helps to illustrate the problem.
    
    1. Create a Table with a not null LOB column on a remote server.
    
       CONNECT TO STLEC1B;
    
       CREATE TABLE T1
       (C1 INTEGER,
        X1 CLOB(1000) NOT NULL);
    
    
    2. Create a non-atomic MRI application against a remote server.
    
       DCL LOB1(2) SQL TYPE IS CLOB(1000);
       DCL HID(2) BIN FIXED(15);
    
       HID(1) = -1;
       HID(2) = 0;
    
       LOB1_DATA(1)  = 'TEST1';
       LOB1_LENGTH(1) = 5;
    
       LOB1_DATA(2)  = 'TEST2';
       LOB1_LENGTH(2) = 5;
    
       EXEC SQL CONNECT TO STLEC1B;
    
       EXEC SQL INSERT INTO T1(X1) VALUES(:LOB1:HID)
       FOR 2 ROWS NOT ATOMIC CONTINUE ON SQLEXCEPTION;
    
    
    3. Execute the application.
    
    The first element of LOB1 is a null, but column X1 is not null.
    An SQLCODE -407 (SQLCODE407) is generated during the non-atomic
    MRI when inserting a NULL into a not NULL column.  However, DB2
    does not handle this error properly and set the LOB source
    pointer for the second element in the LOB1 array.  This
    eventually leads to the above abend when processing the second
    not null LOB value in the LOB1 array.
    

Problem conclusion

  • The code in DB2 has been modified to process the error correctly
    and avoid the abend. Also, for this case, an SQLCODE253 will be
    returned to the application as expected.
    
    Additional Keywords: SQLMRI SQLCODE407 SQLCODE253 SQLINSERT
                         SQLLOB
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM95921

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-08-27

  • Closed date

    2013-09-30

  • Last modified date

    2013-11-04

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

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

    UK98076 UK98077 UK98078

Modules/Macros

  • DSNXRIHS DSNXRIS9
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK98076

       UP13/10/17 P F310

  • RB10 PSY UK98077

       UP13/10/17 P F310

  • R910 PSY UK98078

       UP13/10/17 P F310

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

Document Information

Modified date:
04 November 2013