A fix is available
APAR status
Closed as program error.
Error description
Customer's application selected integer data to be placed into a FLOAT(8) field, per the SQLDA. As DB2 was automatically casting the integer into a double float, the area passed to the conversion subroutine was too small to hold the result, and after copying 8 bytes into a 4 byte field, DB2's move-from address was corrupted, which resulted in the S0C4. The overlay value is dependent on the actual value of the integer as converted.
Local fix
Manually cast to float
Problem summary
**************************************************************** * USERS AFFECTED: All DB2 9 and 10 for z/OS users of host * * variable * **************************************************************** * PROBLEM DESCRIPTION: ABEND0C4 RC00000010 CSECT DSNXROB9 can * * occur when using DOUBLE host variable * * to hold integer column data. * **************************************************************** * RECOMMENDATION: * **************************************************************** ABEND0C4 RC00000010 CSECT DSNXROB9 can occur when using DOUBLE host variable to hold integer column data. An internal variable is overlaid and the overlay content causes the abend. This problem happens because DB2 doesn't define an internal variable longer enough for integer to DOUBLE conversion. The following example can demonstrate this problem. 1. CREATE TABLE TB (C1 INTEGER); 2. Define a DOUBLE host variable named HV. 3. Declare cursor using the DOUBLE host variable to hold integer data and open,fetch cursor. EXEC SQL DECLARE C1 CURSOR FOR SELECT C1 FROM TB; EXEC SQL OPEN C1; EXEC SQL FETCH INTO :HV; The above abend can happen during the host variable binding process. This abend happens in V10 for V9 bound package. The same issue can happen in V10 for V10 bound package.
Problem conclusion
DB2 is modified to define the internal variable correctly. ADDITIONAL KEYWORDS: SQLHOSTVAR ABEND0C4 FLOAT DOUBLE
Temporary fix
Comments
APAR Information
APAR number
PM69226
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-07-19
Closed date
2012-09-26
Last modified date
2012-11-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK82225 UK82226
Modules/Macros
DSNXROB9 DSNXROE9 DSNXROHB DSNXROHE DSNXROHR DSNXROHS DSNXROH2 DSNXROS9
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
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 November 2012