A fix is available
APAR status
Closed as program error.
Error description
ABND=04E-00E20005,U=@DTK312 ,M=(N),C=910.RDS -SQL ,DISTRBUTED,LOC=DSNXROHB.DSNSVSVB+08F2 occurred when running a SQL native stored procedure. The text of the stored procedure overflowed to the block below and overlaid the storage block header of a different SQL statement. The overlay was exposed when the SQL statement was trying to free the storage block. The storage map shows that DSNXOYCS UK40265 +000715 allocated the overflowing block. The symptom can vary depending on what was overlaid.
Local fix
The SQL native stored procedure can be taken out and run by itself to completion since in this way it'd not overlay any blocks following its block.
Problem summary
**************************************************************** * USERS AFFECTED: Users of native SQL procedures on DB2 * * Version 9.1 for z/OS. * **************************************************************** * PROBLEM DESCRIPTION: Various abends occur when a looping * * statement (LOOP, REPEAT, WHILE, FOR) * * occurs within the WHEN clause of a * * CASE statement in the routine body * * of a native SQL procedure. * **************************************************************** * RECOMMENDATION: * **************************************************************** Here are examples of CASE statements that cause the abends to occur: CASE UPPER(VAR1) WHEN 'A' THEN LAB1: LOOP SET VAR1 = 'Y'; LEAVE LAB1; END LOOP LAB1; WHEN 'B' THEN ... END CASE; CASE UPPER(VAR1) WHEN 'A' THEN LAB1: REPEAT SET VAR1 = 'Y'; SET V1 = V1+1; UNTIL V1 = 1 END REPEAT LAB1; WHEN 'B' THEN ... END CASE; CASE UPPER(VAR1) WHEN 'A' THEN LAB1: WHILE V1 = 0 DO SET VAR1 = 'Y'; SET V1 = V1+1; END WHILE LAB1; WHEN 'B' THEN ... END CASE; CASE UPPER(VAR1) WHEN 'A' THEN L1: FOR F1 AS SELECT COL2 FROM TM12403 WHERE COL1 = VAR1 DO SET VAR1 = F1.COL2; END FOR L1; WHEN 'B' THEN ... END CASE; Various abends occur, depending on storage allocation. Here is an example: DUMP TITLE=V91A,ABND=0C4-0000003B,U=SYSADM ,M=(N),C=910.RDS -S QL ,M=DSNTFRCV,LOC=DSNXGRDS.DSNXOYCS+1484 Additional keywords: SQLNATIVESQLPL ABEND0C4
Problem conclusion
DB2 code is corrected to build the internal structures correctly for native SQL procedures containing looping statements in WHEN clauses of a CASE statement so that the abends will no longer occur.
Temporary fix
Comments
APAR Information
APAR number
PM12403
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-04-15
Closed date
2010-04-28
Last modified date
2011-02-19
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK56567
Modules/Macros
DSNHSMS1
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
R910 PSY UK56567
UP10/05/14 P F005
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":"9.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":"9.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
19 February 2011