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

SYSIBM.INSERT AND SYSIBM.OVERLAY SCALAR FUNCTIONS RETURN SQL0138N,
IF LENGTH>LENGTH(SOURCE-STRING)-START+1.

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
The scalar functions SYSIBM.INSERT and SYSIBM.OVERLAY do not 
allow a length argument that is greater than the length of the 
string-expression - start + 1. 
This behaviour is incompatible with SYSFUN.INSERT, and exisitng 
applications might fail with SQL0138N. 
For example: 
 
$ db2 values INSERT('12345', 3, 4, 'abc') 
 
1 
-------- 
SQL0138N  A numeric argument of a built-in string function is 
out of range. 
SQLSTATE=22011 
 
As SYSIBM.OVERLAY works as the same manner as SYSIBM.INSERT, 
OVERLAY  also needs to be changed.SYSIBM.INSERT and 
SYSIBM.OVERLAY will allow any 0 < length < 2147483647 (maximum 
positive INTEGER value), if it means that it is beyond the end 
of source-string, we will replace everything starting at "start" 
position.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users who use SYSIBM.INSERT or SYSIBM.OVERLAY scalar         * 
* functions.                                                   * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* The scalar functions SYSIBM.INSERT and SYSIBM.OVERLAY do not * 
* allow a length argument that is greater than the length of   * 
* the string-expression - start + 1.                           * 
* This behaviour is incompatible with SYSFUN.INSERT, and       * 
* exisitng applications might fail with SQL0138N.              * 
* For example:                                                 * 
*                                                              * 
* $ db2 values INSERT('12345', 3, 4, 'abc')                    * 
*                                                              * 
* 1                                                            * 
* --------                                                     * 
* SQL0138N  A numeric argument of a built-in string function   * 
* is out of range.                                             * 
* SQLSTATE=22011                                               * 
*                                                              * 
* As SYSIBM.OVERLAY works as the same manner as SYSIBM.INSERT, * 
* OVERLAY  also needs to be changed.SYSIBM.INSERT and          * 
* SYSIBM.OVERLAY will allow any 0 < length < 2147483647        * 
* (maximum positive INTEGER value), if it means that it is     * 
* beyond the end of source-string, we will replace everything  * 
* starting at "start" position.                                * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Please upgrade to version 9.5 fixpack 6 or later.            * 
****************************************************************
Local Fix:
Please use SYSFUN.INSERT instead of SYSIBM.INSERT (default in 
v9.5 or later).
available fix packs:
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Problem was first fixed in Version 9.5 Fix Pack 6.
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC65010 IC68468 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
06.12.2009
31.08.2010
31.08.2010
Problem solved at the following versions (IBM BugInfos)
9.5.FP6
Problem solved according to the fixlist(s) of the following version(s)