A fix is available
APAR status
Closed as program error.
Error description
When running QMF with multi-row fetch via DSQSMRFI=YES, receive errors: . MESSAGE NUMBER: DSQ10498 MESSAGE TEXT: DSQ10498 Non end-user SQLCODE returned from DBM. SQLCA is as follows: SQLCODE=-310/ SQLERRM=2/ SQLERRP=DSNXRIHB/ SQLERRD(HEX)=FFFFFF15 00000000 00000000 FFFFFFFF 00000000 00000000/ SQLWARN= / SQLSTATE=22023/ *** CMD=SAVE
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All QMF for TSO/CICS V8.1 and V9.1 users * * starting QMF with DSQSMRFI=YES (MR=YES) * * using the RUN QUERY command with the * * ROWLIMIT option or the SAVE DATA command. * **************************************************************** * PROBLEM DESCRIPTION: Users running the multi-row fetch * * feature from QMF can experience * * incorrect output when using the * * ROWLIMIT option on the RUN QUERY * * command. The incorrect output can be * * either too much data, or zeros instead * * of data. In addition, users using * * the SAVE DATA command can experience * * a SQLCODE310 or similar error when * * issuing the SAVE DATA command on * * data containing possible nulls. * * These problems would only happen * * when QMF is invoked with the * * MR=YES option (multi row fetch * * and insert turned on). * **************************************************************** * RECOMMENDATION: * **************************************************************** When started with multi-row fetch, QMF is fetching more than the ROWLIMIT amount and intermittently putting in zeros for data. When processing the SAVE DATA command on data that contains possible nulls, QMF is incorrectly building the multi row insert null indicator array. These problems do not happen if the multi-row fetch feature is turned off (DSQSMRFI=NO or MR=NO).
Problem conclusion
The QMF module responsible for multi-row fetch, DSQIFSQ8, was using incorrect logic to determine rowset fetch amounts when the ROWLIMIT option was used. DSQIFSQ8 has been corrected to only retrieve the ROWLIMIT amount of rows specified on the RUN QUERY command. If the ROWLIMIT amount is greater than what would be returned by the complete answer set, then only the complete answer set is returned. The QMF module responsible for multi-row insert for the SAVE DATA command, DSQISDT8, was using incorrect logic to determine offsets for building the null indicator array. Because the null indicator array was incorrect, the data was deemed 'invalid' by DB2.
Temporary fix
Comments
APAR Information
APAR number
PK61535
Reported component name
QMF-QUERY MGMT
Reported component ID
566872101
Reported release
810
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-02-22
Closed date
2008-02-28
Last modified date
2008-04-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK34138 UK34139
Modules/Macros
DSQEFSQ8 DSQESDT8 DSQFFSQ8 DSQFSDT8 DSQIFSQ8 DSQISDT8
Fix information
Fixed component name
QMF-QUERY MGMT
Fixed component ID
566872101
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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCWRCK","label":"QMF for TSO\/CICS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
01 April 2008