IBM Support

PM54525: ABEND0C4 RC00000038 IN DSNXRINS +05C2 OFFSET05C2 WHEN EXECUTING A MIGRATED V9 PACKAGE CALLING AN UDF

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • ABEND0C4 RC00000038 IN DSNXRINS +05C2 OFFSET05C2 WHEN EXECUTING
    A MIGRATED V9 PACKAGE CALLING AN UDF
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 10 for z/OS users of packages bound  *
    *                 on DB2 for z/OS V8 or DB2 9 for z/OS that    *
    *                 contain queries accessing Table UDFs.        *
    ****************************************************************
    * PROBLEM DESCRIPTION: An ABEND0C4 rc38 can occur at location  *
    *                      DSNXRINS +05C2 or OFFSET05C2 when       *
    *                      executing a package that was bound on   *
    *                      DB2 v8 or DB2 v9 that contains a query  *
    *                      that accesses a Table UDF (User Defined *
    *                      Function).                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An ABEND0C4 rc38 can occur at location DSNXRINS +05C2 when
    executing a package that was bound on DB2 v8 or DB2 v9 that
    contains a query that accesses a Table UDF (User Defined
    Function).
    
    The problem occurs during runtime or at execution time when DB2
    doesn't take the proper code path for a package that was bound
    on DB2 v8 or DB2 v9 that contains a query that accesses a Table
    UDF.  Because an improper code path is taken, an incorrect
    module is accessed which leads to the ABEND0C4 during
    processing.
    
    In the reported case, the failure occurred when executing a
    package that originated on a DB2 v9 subsystem.
    
    The following simple example illustrates how this failure can
    occur.
    
    
    Step 1.
      On a DB2 v9 system, Create a User Defined Function (UDF) that
      is a Table UDF.
    
      CREATE FUNCTION SCNI7001.CHK()
        RETURNS TABLE(PROD_ID   CHAR(6),
                      PRODNAME  CHAR(30),
                      STATUS    CHAR(12))
        EXTERNAL NAME UDF001
        ...
    
      This UDF will operate on values from a defined user Table.
    
    Step 2.
      Bind and linkedit the UDF001 UDF program package.
    
    Step 3.
      In an application, declare the following cursor and host
      variable.
    
      EXEC SQL DECLARE C1 CURSOR FOR
      SELECT PRODNAME
      FROM TABLE (SCNI7001.CHK()) AS T1
      WHERE PROD_ID ='P12191';
    
      COLA CHAR(30);
    
      Fetch from the cursor
    
      EXEC SQL FETCH C1
             INTO   :COLA;
    
    Step 4.
      Bind the application program package on DB2 v9.
    
    Step 5.
      After migrating from DB2 v9 to DB2 v10, execute the bound
      program package on v10. The failure mentioned above can occur.
    

Problem conclusion

  • The code in DB2 runtime is modified to take the proper code path
    for a DB2 v8 or DB2 v9 bound package that contains queries that
    can access a Table UDF.
    
    Additional Keywords: SQLUDF SQLTUDF SQLMIGRATION
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM54525

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-12-15

  • Closed date

    2012-02-13

  • Last modified date

    2012-03-01

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

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

    UK76141

Modules/Macros

  • DSNXRGPL
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK76141

       UP12/02/28 P F202

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:
01 March 2012