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 IC66521 Status: Closed

DB2 DO NOT SUPPORT THE DECIMAL DATA TYPE ON COBOL ON DB2V95

product:
DB2 FOR LUW / DB2FORLUW / 980 - DB2
Problem description:
For Cobol procedure creation, we always reproduced this problem 
on db2v9.5: 
Store Procedure Testing in DB2 V9.5 
===================================== 
1.Using language Cobol 
 
create procedure tp.crossbrd ( 
 in    lic_user_id            char(8), 
 in    lic_pgm_id             char(8), 
 in    lic_upd_mode           char(1), 
 in    lic_upd_ind            char(12), 
 out   lic_ret_cd             integer, 
 in    anml_key               integer, 
 in    brd_cd                 char(2), 
 in    portion_16th           smallint, 
 in    anml_reg_cd            decimal(1,0), 
 in    hdbk_sect_cd           char(1), 
 in    hdbk_sect_sts_cd       char(1), 
 in    bsoc_proc_date         char(10), 
 in    frgn_hdbk_anml_num     char(13), 
 in    stud_fee_ind           decimal(1,0), 
 in    hdbk_vol               char(8), 
 in    frgn_hdbk_name         char(30), 
 in    hdbk_sect_sts_id       integer 
) 
       external name 'H80002' 
       language cobol 
       PARAMETER STYLE GENERAL WITH NULLS 
       modifies sql data 
 
 
Result 
=== 
DB21034E  The command was processed as an SQL statement because 
it was 
not a 
valid Command Line Processor command.  During SQL processing it 
returned: 
SQL0451N  The "PARAMETER #9" definition, in the statement that 
defines 
routine 
"TP      .CROSSBRD", contains a data type "DECIMAL" that is not 
appropriate 
for a non-sourced routine written in the given language.  LINE 
NUMBER=21. 
SQLSTATE=42815 
 
SQL0451N  The "PARAMETER #9" definition, in the statement that 
defines 
routine "TP      .CROSSBRD", contains a data type "DECIMAL 
" that is not appropriate for a non-sourced routine written in 
the given 
language. 
 
But above test works fine on db2 v82 and db2 v91.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 9.8 FP3 or Subsequent Fix Pack                * 
****************************************************************
Local Fix:
Change Decimal type to float type
available fix packs:
DB2 Version 9.8 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.8 Fix Pack 4 for AIX and Linux
DB2 Version 9.8 Fix Pack 5 for AIX and Linux

Solution
Problem First Fixed in DB2 Version 9.8 Fix Pack 3
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
22.02.2010
16.11.2012
16.11.2012
Problem solved at the following versions (IBM BugInfos)
9.8.FP3
Problem solved according to the fixlist(s) of the following version(s)
9.8.0.3 FixList