# Query Subsystem

Query Profile Information Maintenance |

The NOMADS Query has the ability to hide and show columns at run time, define dynamic filters, and select records to be displayed as Favorites. You can also choose to retain these settings from one session to another. All of these settings for each user and every query are stored in the Query Persistence files (query.inf) found in the same directories as the panel libraries containing the query definitions.

The Query Persistence files have an auto-clean mechanism that will automatically remove entries that have not been accessed in the last 90 days. This time interval can be changed by setting the %NOMADS'Query_ProfileClean property to the desired number of days.

The Query Profile Information Maintenance utility provides a means to manually remove or copy entries in the Query Persistence files. Entries can be copied to another user ID, and entries belonging to a defunct user ID can be deleted.

Invoke the Query Profile Information Maintenance utility from the main NOMADS Utilities menu or from the NOMADS Library Object Selection Utilities menu. The difference will be that the starting point for locating the Query Persistence files will be your current directory when invoked from the main NOMADS Utilities menu, or it will be the directory of the selected library when invoked from Library Object Selection.

You can also invoke the utility programmatically. See Invoking Query Profile Information Maintenance Programmatically below.

When invoked, the Query Profile Information Maintenance window is displayed.

This window consists of the following:

Starting Directory | This is the starting point for locating the Query Persistence files and their profile entries. (Enter the top directory of your application to see all entries pertaining to it.) All entries found in the starting and subordinate directories will be displayed in the profile list.
(Profile Entry List) | Entries include the library location (relative to the starting directory), the name of the query, the user to whom the entry pertains, the profile name (see Query Profiles), and the type of information stored. #### Note: Each Favorites entry in the profile entry list may represent several entries in the Query Persistence file, which contains one record for each and every favorite record selected by a particular user for a given query. (The Profile name was added to the list in PxPlus 2019.)
Select/Deselect all | Click the check box to select all current entries in the profile list. Uncheck it to deselect all entries.
Selecting miscellaneous profile entries | To select/deselect individual profile entries, click the check box next to the entry in the list itself. You can also select ranges of entries by clicking the first entry, then pressing Shift-Click on the last.
Filter by: Directory Library Query Info Type User | A number of fields are available to filter the profile entries that are shown in the profile list. Selections include Directory, which allows you to specify a subdirectory under the starting directory. You can also select a specific panel library, query definition, information type (i.e. Favorites, User formulas, Filters, Hidden column settings, Column Order, Column widths, Save Settings), and/or user ID to filter the profile list.
Function | Select the function to perform.
Copy to another user | Copy the selected profile list entries to another user. You must specify the user either by entering the user ID or selecting one from the drop box. If duplicate entries for that user exist, such as for filters or hidden columns, then you can select the Overwrite duplicates box if you wish to overwrite the existing entries in the user's current profile; otherwise, the existing entries will not be changed.
Delete | Delete the selected profile entries.

## Invoking Query Profile Information Maintenance Programmatically

Besides invoking the Query Profile Information Maintenance utility through the NOMADS interface, you may also invoke it programmatically using the following syntax:

> PROCESS "QRYPROFMNT","*plus/winutl/scrnlib.en"[,UserID$,LibPath$,Query$,RecordType$]

Where:

UserID$ | User ID to filter on
LibPath$ | Path to panel library to use as filter
Query$ | Specific query to use as filter
RecordType$ | Record type to filter on. Valid values are:
'FAV' | Favorites
'FLT' | Filters
'HID' | Hidden column settings
'SAV' | Save settings