PM77180: DB2 10 FOR Z/OS RETURNS -303 FROM DSNXROHE

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • DB2 10 for z/os returns a -303 sqlcode from DSNXROHE  when
    the incompatible data type error is detected in V10 NFM.
    
    In the reported case, the ODBC driver  on LUW was sending a
    VARCHAR instead of DECIMAL(10),
    which is caused the incompatible type error from the DB2 10
    for z/os NFM server.
    
    
    
    
    Additional keywords and symptoms:
    ----------------------------------
    SQLCODE303 DSNXROHE
    

Local fix

  • Application can avoid the error if they change the
    incompatible data type to a compatible data type
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 10 for z/OS Distributed Data         *
    *                 Facility (DDF) users of the IBM Data Server  *
    *                 Driver for non-JAVA client with the          *
    *                 DDF_COMPATIBILITY ZPARM.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: The DB2 Server incorrectly returns an   *
    *                      SQLCODE -303 from DSNXROHE when a       *
    *                      remote Stored Procedure is called from  *
    *                      an application which passes a host      *
    *                      variable to an INOUT parameter.  This   *
    *                      dictates an implicit cast during the    *
    *                      input process.                          *
    *                                                              *
    *                      However, the DDF_COMPATIBILITY ZPARM is *
    *                      set to override DB2 v10 behavior for    *
    *                      Stored Procedure parameter(s).          *
    *                      Instead, to be consistent with the      *
    *                      behavior prior to v10, DB2 should issue *
    *                      an SQLCODE -301 from DSNXRIHD during    *
    *                      the input processing with no implicit   *
    *                      cast.                                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The DB2 Server incorrectly returned an SQLCODE -303 (SQLCODE303)
    from DSNXROHE when a remote Stored Procedure was called from an
    application which passes a host variable to an INOUT parameter
    because an implicit cast occurred during the input process.
    
    For example, when a DECIMAL(9,0) host variable is passed to an
    INOUT parameter defined as a VARCHAR(100), the DB2 v10 server
    will perform an implicit cast from a DECIMAL to a VARCHAR data
    type during input parmeter processing.
    
    However, the IBM Data Server Driver for non-JAVA clients sets
    the DDF_COMPATIBILITY ZPARM for the DB2 v10 Server to override
    DB2 v10 behavior for Stored Procedure parameters.  As a result,
    VARCHAR data is returned to the DECIMAL host variable and an
    SQLCODE -303 is issued for an incompatible data type conversion.
    
    DB2 v10 is expected to have the same behavior prior to v10 when
    the DDF_COMPATIBILITY ZPARM is set for remote Stored Procedure
    calls.  What this entails is that DB2 should issue an SQLCODE
    -301 (SQLCODE301) from DSNXRIHD during the input parameter
    processing, and no longer perform an implicit cast for data
    types which are only supported starting from v10.  This problem
    should be corrected by the application.
    

Problem conclusion

  • The code in DB2 has been modified to provide the pre-v10
    behavior when the DDF_COMPATIBILITY ZPARM is set for the IBM
    Data Server Driver for non-JAVA clients for a remote Stored
    Procedure call.
    
    Additional Keywords: SQLCODE303 SQLCODE301
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM77180

  • 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

    2012-11-15

  • Closed date

    2013-01-16

  • Last modified date

    2013-02-04

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

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

    UK90994

Modules/Macros

  •    DSNXRIHB DSNXRIHD DSNXRIHR DSNXRIHS
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK90994

       UP13/02/01 P F301

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.



Rate this page:

(0 users)Average rating

Document information


More support for:

DB2 for z/OS

Software version:

A10

Reference #:

PM77180

Modified date:

2013-02-04

Translate my page

Machine Translation

Content navigation