Tuesday, July 10, 2007

Use of the QAQQINI file on AS400/iSeries

Beginning at V4R4, the QAQQINI file (query options file) was introduced. This file replaced the QQQOPTIONS data area in addition to providing other functions, including Service Query. While SRVQRY is still supported for R440, use of the QAQQINI file is much easier, as there is no need to transfer the tool to a customer's system. This document describes only the publicly documented options.

To set up and use a QAQQINI file, do the following:

1. Use the CRTDUPOBJ command to make a copy of the QAQQINI file located in QSYS. The file name must be QAQQINI. The file can be placed in QUSRSYS; however, all jobs check this library for the existence of the file and uses it if it exists in that library. Therefore, do not put the file in this library unless you want to use it for all queries on the system. Use of this file could cause degraded performance. Therefore, you need to be very careful before allowing all queries on the system to be impacted by it. Do not use the CPYF command to make this copy. Creating a duplicate is required because a trigger is associated with the file. CPYF does not maintain the trigger association on the copy. The trigger is needed to ensure correct operation. Making a copy of the file by any means other than the CRTDUPOBJ command or save/restore causes unpredictable results.

2. If the data was copied together with the file, the publicly documented options should already be in the file. The file must be updated to reflect the parameter options for parameters that already exist in the file. Using SQL or Operations Navigator is probably the easiest method. You can use DFU, but you must create a DFU that contains only the first two fields. The third field is a comment field, the use of which is optional, but it is of a type that DFU cannot handle. A program could also be written to perform the updates. To use options that are not documented to the public, records must be inserted. The values can be entered in either uppercase or lowercase. The trigger program converts them to uppercase and also validates that they are valid values. Update must be used to change a value. When using SQL, remember the comparison is case sensitive and, therefore, must be typed in uppercase since the trigger ensures only uppercase letters are inserted. There are two required fields. The first, QQPARM, is the parameter being set. The second, QQVAL, is the value for the parameter. The third field, which is optional, is QQTEXT.

3. Once the options are set, use the CHGQRYA command to specify the library where your copy of the QAQQINI resides (assuming you are not using QUSRSYS, it is already the default for all queries).

Descriptions of the Publicly Documented Options:



Post a Comment

<< Home