A fix is available
APAR status
Closed as new function.
Error description
Currently a single DB2 request is required to fetch and insert of each row of an answer set. Each interaction to DB2 using the QMF call attach and the CICS interface requires the use of Wait/ Post service. This also adds to the path length of fetching or inserting a row of data. . This APAR will allow QMF to fetch and insert multiple rows thereby providing a significant improvement on performance. . This APAR also addresses the issue of QMF looping in the CONNECT TO prompt panel and the CONNECTION LOST panel. Users encountering this issue are not able to leave the connection panel in QMF. * This APAR also does a similar change to QMF as DB2 APAR PQ98170 does for SPUFI. QMF adds recasting of graphic unicode data for RUN QUERY, EXPORT TABLE,PRINT TABLE and DISPLAY TABLE when the requestor DB2 is a SBCS non-mixed codepage. The datatype recast is done to prevent an SQL code -332. The translation is as follows: - GRAPHIC -> CHAR - VARGRAPHIC and LONG VARGRAPHIC -> VARCHAR - DBCLOB -> CLOB This fix does not extend to QMF stored procedure (CALL) support. * SQLCODE332 *
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All QMF V8.1 users. Using the multiple * * row fetch and insert feature of * * DB2 UDB for Z/OS V8.1 is optional. * **************************************************************** * PROBLEM DESCRIPTION: New function is added to the QMF V8.1 * * product to take advantage of the DB2 * * UDB for z/OS V8.1 feature, multiple row * * fetch and insert. The new function is * * dependent upon the release level of the * * database. For local connections, the * * level of the database must be DB2 UDB * * for z/OS V8.1 running in NFM (DSN08015 * * or higher). For remote connections, * * both the level of the requestor and * * server must be DB2 UDB for z/OS V8.1 * * running in NFM (DSN08015 or higher). * * Use of this feature is optional and * * must be turned on at QMF initialization * * to be active. The new QMF startup * * parameter DSQSMRFI was created for this * * task. This PTF includes several new QMF * * packages. After you apply the PTF, the * * QMF bind runtime packages job, located * * in QMF810.SDSQSAPE(DSQ1BPKG), must be * * run in every single database server * * that is accessed by QMF V8.1 * * (regardless of database level). All * * users will need to run the bind job, * * even if the new function is not turned * * on. For more information on the * * benefits of multiple row fetch and * * insert, the DB2 UDB for z/OS V8.1 * * documentation should be consulted. * **************************************************************** * RECOMMENDATION: This PTF includes several new QMF packages. * * After applying the PTF, the QMF bind * * runtime packages job, located in * * QMF810.SDSQSAPE(DSQ1BPKG), must be run in * * every single database and server that is * * accessed by QMF V8.1. Previous levels of * * QMF runtime code will continue to function * * even after the bind of the new packages. * * All users will need to run the bind job, * * even if the new function is not turned on. * **************************************************************** With this PTF, QMF adds the ability to use the DB2 UDB for z/OS V8.1 performance feature, multiple row fetch and insert. The following commands and QMF processes can benefit if this new feature is enabled: BOTTOM/FORWARD DISPLAY TABLE DPRE PRINT DATA/TABLE RUN QUERY/PROC (includes stored procedure enablement) SAVE DATA COMPLETING A REPORT * In order to take advantage of the new feature the following items must happen (details follow): -Apply the PTF -Bind the new packages in all databases -Make sure the level of the database is correct -Enable the new function at QMF initialization * Apply the PTF: This PTF ships several new database modules to support the new function. Precautions have been taken so that if fallback is necessary, previous levels of packages are still available and do not have to be rebound. Runtime code from before and after this PTF can both still access a database. * Bind the new packages in all databases: After you apply the PTF, the QMF bind runtime packages job, located in QMF810.SDSQSAPE(DSQ1BPKG), must be run in every single database and server that is accessed by QMF V8.1. All users will need to run the DSQ1BPKG bind job, even if the new function is not turned on. Failure to run the bind job will result in message 'MSGDSQ22889 DBRM not found for DSQIFSQ7 module in xxxx database. SQLCODE returned was -805' or 'MSGDSQ22889 DBRM not found for DSQIFSQ8 module in xxxx database. SQLCODE returned was -805'. The message received depends on database level and DSQSMRFI value. QMF will not initialize at the PTF level code if the new packages are not bound in the database. * Make sure the level of the database is correct: For local scenarios, multiple row fetch and insert is available only in DB2 UDB for z/OS V8.1 databases running in NFM (DSN08015 or higher). For remote connections, *both* the level of the requestor and server must be at least DB2 UDB for z/OS V8.1 running in NFM (DSN08015 or higher). QMF detects the level of the database and will run the appropriate level of fetch and insert for the database level. QMF will still function properly with all previously documented levels of databases. * Enable the new function at QMF initialization: A new QMF startup parameter, DSQSMRFI, is added to allow the QMF Administrator to enable or disable the DB2 multiple row fetch and insert feature. This startup parameter will be valid for the entire QMF session. If enabled via the startup parameter, multiple row fetch and insert will be used when both the database requestor and the database server are DB2 UDB for z/OS V8.1.5 or higher. The following information will be added to the Installing and Managing QMF for TSO/CICS on this parameter: * Chapter 10. Customizing your start procedure DSQSMRFI (enable DB2 multi-row fetch and insert) Parameter name DSQSMRFI Short form MR Valid values YES or NO Default NO * Set DSQSMRFI to specify if you want the QMF session being started to use DB2 UDB for z/OS V8.1 feature, multiple row fetch and insert. Using multi-row fetch and insert will increase the performance for many QMF commands (for example; Display Table, Export Data or Export Table, Print Data or Print Table, Run Retrieval Query or Retrieval Procedure, Save Data, DPRE and Bottom and Forward when viewing a QMF report). When DSQSMRFI=YES, QMF will process using DB2 multi-row fetch and insert if the current database connection allows it. Multi-row fetch and insert is allowed when both the database requestor and the database server are DB2 UDB for z/OS V8.1.5 or higher. If the QMF session is started with DSQSMRFI=YES but the database connection does not allow multi-row fetch and insert (database server and database requestor are not DB2 z/OS V8.1.5 or higher), then single row fetch will be used for all QMF commands. The default setting is DSQSMRFI=NO. This can be overridden in the DSQSCMDE EXEC file by setting DSQSMRFI = "YES". The DSQSCMDE exec is located in data set QMF810.SDSQEXCE(DSQSCMDE). DSQSMFRI may also be overridden on the QMF initialization command using DSQSMRFI=YES or MR=YES: DSQQMFn MR=YES QMFn MR=YES * QMF does not ship an updated version of DSQSCMDE EXEC with this PTF. Users wishing to override DSQSMRFI using DSQSCMDE will need to update the exec manually. See the IBM QMF support Web site http://www.ibm.com/software/data/qmf/support.html for a sample DSQSCMDE EXEC illustrating how this update would be made. Users using the DSQSCMD startup parameter should be aware of this change. After apply of this PTF, QMF will continue to function with the older versions of DSQSCMDE EXEC (with or without the DSQSMRFI parameter update). Note to users who update DSQSCMDE with the new DSQSMRFI parameter: QMF V8.1 code levels prior to this PTF and previous levels of QMF will not function with DSQSCMDE EXEC updated with the new DSQSMRFI parameter. Users that share DSQSCMDE EXEC with different levels of QMF should take precautions. If a level of QMF prior to the PQ99482 fix tries to use a DSQSCMDE EXEC containing the new DSQSMRFI parameter, an error message of: MSGDSQ50405 'Number of REXX program parameters returned should be 14, not 15' will be received. * Limitations on support: When DSQSMRFI=YES and your current database connection supports DB2 multiple row fetch and insert, care must be taken when using 3-part names in commands. If the database identified in the 3-part name is not DB2 z/OS V8.1.5 or higher, your QMF command will fail. If you are using 3-part names in this situation, the QMF session should be started with DSQSMRFI=NO to avoid a failure. * Note for those applying this PTF but not enabling the new feature: This feature is shipped turned off (DSQSMRFI=NO) but still requires that packages be bound in every database that QMF V8.1 accesses. Even if the new feature is not desired or turned on, if this PTF is applied, the packages must be bound. SEARCH KEYWORDS: DSQ50405 SQLCODE805 DSQ22889
Problem conclusion
Temporary fix
Comments
ž**** PE05/10/05 FIX IN ERROR. SEE APAR PK12642 FOR DESCRIPTION
APAR Information
APAR number
PQ99482
Reported component name
QMF-QUERY MGMT
Reported component ID
566872101
Reported release
810
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function
Submitted date
2005-01-13
Closed date
2005-09-01
Last modified date
2005-12-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK06848
Modules/Macros
DSQCBRDI DSQCBRD2 DSQCDBUG DSQCELTT DSQCEMSG DSQCEMSS DSQCMDNM DSQCPARM DSQCRSNC DSQDLCMD DSQEFSQ7 DSQEFSQ8 DSQEPSQ7 DSQEPSQ8 DSQESDGN DSQESDT7 DSQESDT8 DSQGDRIP DSQGDRPC DSQIDOPT DSQIFSQL DSQIFSQ7 DSQIFSQ8 DSQIISQL DSQIMRF DSQIMSGM DSQIPSQL DSQIPSQ7 DSQIPSQ8 DSQISDGN DSQISDTA DSQISDT7 DSQISDT8 DSQ0BPKL DSQ1BPKB DXECVS DXEDBM DXEDGN DXEERP DXEIMRF DXEISDGN DXENRW DXEORC DXEPPP DXESQL HSQ8810J
Fix information
Fixed component name
QMF-QUERY MGMT
Fixed component ID
566872101
Applicable component levels
R810 PSY UK06848
UP05/09/02 P F509
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.
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
Rate this page
Please take a moment to complete this form to help us better serve you.
