A fix is available
APAR status
Closed as program error.
Error description
DELETE with cursor sql gets ABEND04E RC00C90101 DSNICUMW 1001 due to invalid token in x state lock request because DSNICUMW used old token which was for the previous page after getting 04/0200 in change lock request.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All DB2 10 for z/OS (V10 CM and higher) * * users of deletes or updates on universal * * table space with page-level locking * * who use cursors defined as WITH ROWSET * * POSITIONING when deleting/updating the * * table * **************************************************************** * PROBLEM DESCRIPTION: ABEND04E RC00C90101 DSNICUMW ERQUAL1001 * * during SQL DELETE WHERE CURRENT OF from * * a universal table space with page-level * * locking, when the cursor is defined as * * WITH ROWSET POSITIONING * **************************************************************** * RECOMMENDATION: * **************************************************************** The aforementioned abend happened during DELETE WHERE CURRENT OF (could also happen in UPDATE WHERE CURRENT OF), due to an incorrectly invoked CHANGE call to IRLM. In the call, the CUB owning work unit was used when the IRLM structures expected (correctly) the CT's owning work unit. The calling module did not take into account that in multi-row fetch applications DB2 may have changed OWU ownership of existing locks in that CUB to the CT, in preparation for the new row set coming in. Here is a sample sequence that can expose this issue: DECLARE CUR1 CURSOR WITH HOLD WITH ROWSET POSITIONING FOR SELECT EMPID FROM EMPTBL FOR UPDATE OF EMPID OPEN CUR1 FETCH NEXT ROWSET FROM CUR1 FOR 2 ROWS INTO :EMPID DELETE FROM EMPTBL WHERE CURRENT OF CUR1 FETCH NEXT ROWSET FROM CUR1 FOR 2 ROWS INTO :EMPID DELETE FROM EMPTBL WHERE CURRENT OF CUR1
Problem conclusion
Code has been modified for DB2 to correctly invoke IRLM. Additional keywords: SQLROWSET SQLDELETE SQLUPDATE SQLPBG PBG
Temporary fix
Comments
APAR Information
APAR number
PM52870
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
2011-11-23
Closed date
2012-02-06
Last modified date
2012-03-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK76147
Modules/Macros
DSNICUMW
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
RA10 PSY UK76147
UP12/02/28 P F202
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 March 2012