Menus can be created to allow users to select and run both queries and macros. In addition, other existing menus can be added as a menu item. Menu items are part of a "section". A menu can have up to 10 expandable/collapsible sections. Menu items are executed by clicking the  Run  button or the menu item title.

Titles & Attributes

The Titles & Attributes section of the Create Menu panel allows the User to define a Page Title for their menu. HTML tagging can be used if desired. The Menu Creator can control the text characteristics by using the font control options that are present under the Page Title input area.

Section Titles can also be defined in the Titles & Attributes input area. A menu can have up to 10 expandable/collapsible sections. Like the Page Title, HTML tagging can be used when defining section titles. At the bottom of the section titles, are controls for selecting the text attributes. If menu items are defined for a particular section number and a section title is not present, a default title of "Section (number)" will be created.

Sections in a menu can be expanded and collapsed by clicking the Section Title. Whether a section is open, allowing visibility to the items within the section when the menu page is first loaded, is controlled by the Visible onload checkbox.

The text characteristics for the menu items can be selected with the Item Title Attributes controls at the bottom of the Titles & Attributes area. This will change the settings for all the items in the menu.

When queries, macros and menus are saved, a description can be entered. These descriptions can be presented to the User in the form of a hovering description in the menu itself. The Description icon location determines the placement of these i-nfo icons relative to the menu items, or they can be omitted. If no description is available for the item, no icon will be presented.

Menu Item Details

A menu item is either a query, with an optional layout, a macro or a menu. Each item is assigned to a particular section number. When the menu is saved and retrieved from the database, the items are sorted and presented in Section Number order. A menu can contain up to 999 items.

Each item is assigned to a section number by choosing the section number from the selection list. The type of object must be specified for the item, along with the Object Owner and Object Name. If the menu object is a query, a Layout Owner and Layout Name can also be specified, but not required. If a layout is provided for a macro or a menu, it is ignored.

The default Image that precedes the menu item title is a  Run  button. The Image is specified with the path to the file immediately followed by its (WIDTHxHEIGHT):


The path to the image is relative to the directory where QLR manager is installed and it is recommended a separate folder be created outside the QLR directory structure to hold custom image(s). This allows QLR Manager to be upgraded and preserve the reference to the directory with the custom image(s). It is also suggested that the pixel dimensions be included with custom images to allow the browser to allocate the proper amount of space for the image as the page is being rendered. The Image text input can be left blank if no leading image is desired for a particular menu item. This will align the menu item title directly beneath the Section Title. A transparent spacer gif is provided that can be defined with variable (WIDTHxHEIGHT) to achieve any desired indentation and vertical spacing:


The title for each menu item is entered into the Title text input. Item titles can contain HTML tagging when necessary, but it is probably easiest to control the overall appearance of item titles by using the controls in the Item Title Attributes group. If a title is not provided, a default title is created using the object type, owner and name, such as "Macro Frank.daily reports". If the Object Name provided cannot be found, an error message will be displayed for that item when the page is previewed or displayed as a working menu.

Menu Builder Assistant

The Menu Builder allows the User to find existing queries and layouts, macros, or menus to be used as a menu item. Simply locate the desired entries, choose the item number to apply the values to, and use the appropriate  Apply  button to copy the selections into the targeted item number within Menu Item Details. The Menu Builder will also set whether the chosen menu item is a query, macro or menu. If a specific layout is not desired for a query, "Based on query" should be selected from the Layout Name option list. When this value is chosen, the Layout Owner and Name will be left blank.

It is also acceptable to type the Object Owner and Object Name values directly into the desired step. When typing these entries, care should be taken to ensure the correct Object Type is selected. Using the Menu Builder simplifies this process.


When a menu page is being constructed, its appearance can be validated by pressing the  Preview  button or Preview Header tab. This will build and display the menu that is currently being created. Menu items cannot be run from the Preview panel. If a  Run  button is clicked, an alert is presented reminding the User that menu items cannot be executed in Preview mode.

Active Menus

After creating and saving menus, a user can log on to the "Queries · Layouts · Reports" function and access the User Menu or Menu tab. Clicking this tab in the header will display active menus. If the ID has sufficient authority, the User can choose from the Existing Menus list to select and load a menu. Clicking a  Run  button or the menu item title will run the menu item.

If using the Enterprise Edition of QLR Manager, the User's profile can be set to load a default menu when the Menu or User Menu tab is clicked. Additionally, the User's profile can be set to omit the Existing Menus selection control. This provides the capability to limit a User ID's access to a single, predefined menu. The configuration tool used to define these User Profiles is User ID administration. This can be extremely useful to restrict a user's access to specific data. An example could be a menu created for a customer which limits them to running queries and macros against their data and does not provide access to any other queries, macros, or menus.

If a user has any saved queries or macros, a menu of these objects, called *My_Menu* will automatically be created for the logged in user ID containing these items. This provides two expandable/collapsible sections, one containing the queries and the other containing the macros.