home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC88573 Status: Closed

DECIMAL VALUES ARE INCORRECTLY RETURNED BY A STORED PROCEDURE

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
if you have LANG set to a locale that uses a character other 
than '.' as the decimal point, the decimal values returned by a 
stored procedure are incorrect. 
 
example : 
 
more repro.sql : 
 
create table t1  (c1 real); 
insert into t1 values (1) 
; 
 
 
CREATE PROCEDURE sp1 ( IN stmt1 VARCHAR(4000) ) 
    SPECIFIC sp1 
    RESULT SETS 1 
    LANGUAGE SQL 
P1: BEGIN 
    DECLARE c1 CURSOR WITH RETURN FOR s1 
    PREPARE s1 FROM stmt1 
    OPEN c1 
END P1 
; 
call sp1('select * from t1'); 
select * from t1; 
 
 
export LANG=fr_FR.ISO8859-1 
db2start 
db2 create database sample 
 
db2 -tvf sp1.sql 
.... 
call sp1('select * from sp1_t1') 
 
 
  Ensemble de rツsultats 1 
  -------------- 
 
  C_REAL 
  ------------------------ 
             +0,00000E+000 
 
  1 enregistrement(s) sツlectionnツ(s). 
 
  Etat du retour = 0 
 
select * from sp1_t1 
 
C_REAL 
------------------------ 
           +1,00000E+000 
 
  1 enregistrement(s) sツlectionnツ(s). 
 
The same problem could also be seen if a stored procedure has 
output parameters of type Real. 
e.g: 
db2 "create table sp3_t1(c_real real)"; 
db2 "insert into sp3_t1 values(3.787878)" 
db2 "CREATE PROCEDURE sp3 (  out outcol real ) 
            SPECIFIC sp3 
            RESULT SETS 1 
            LANGUAGE SQL 
 
        P1: BEGIN 
            Select c_real into outcol from sp3_t1;-- 
        END P1" 
 
 
db2 "call sp3(?)" 
 
  Value of output parameters 
  -------------------------- 
  Parameter Name  : OUTCOL 
  Parameter Value : +0,00000E+000 
 
  Return Status = 0 
 
db2 "select * from sp3_t1" 
 
C_REAL 
------------------------ 
           +3,78788E+000 
 
  1 record(s) selected.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* DB2 LUW                                                      * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 9.7 FP8                                       * 
****************************************************************
Local Fix:
available fix packs:
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
The problem is first fixed in DB2 9.7 FP8
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC91734 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
27.11.2012
02.05.2013
02.05.2013
Problem solved at the following versions (IBM BugInfos)
9.7.FP8
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.8 FixList