---
title: "SQL-MENU-044: Retrieve all authorized menu items"
summary: "Retrieve the full authorized menu snapshot."
status: draft
owner: SAIF documentation team
last_reviewed: 2026-08-17
library: SAIF.Business.Menu
reference_type: package
---

# SQL-MENU-044: Retrieve all authorized menu items

Retrieve the full authorized menu snapshot.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-MENU-044 |
| **Operation type** | Read |
| **Execution method** | StringBuilder-assembled |
| **Database** | Oracle |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsMenuAuthorizedItemCollection` |
| **Criteria property** | `RetrieveAllSQL` |
| **Lifecycle method** | `BeforeRetrieveAll` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| *(none)* | N/A | N/A | N/A | This statement has no bound parameters. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [BUSONLINE_APPS_CODE](../database-tables.md#busonlineappscode) | SELECT | `CODE`, `CODE_DESCR`, `ACTIVE_CODE` |
| [MENU_CATEGORY_CODE](../database-tables.md#menucategorycode) | JOIN | `CODE`, `CODE_DESCR` |
| [MENU_PAGE](../database-tables.md#menupage) | JOIN | `MENU_PAGE_SEQ_NUM`, `PAGE_LINK_TXT`, `APPLICATION_CODE` |
| [MENU_ITEM](../database-tables.md#menuitem) | JOIN | `MENU_ITEM_SEQ_NUM`, `MENU_PAGE_SEQ_NUM`, `MENU_CATEGORY_CODE`, `PAGE_ORDER_NUM` |
| [MENU_SECURITY](../database-tables.md#menusecurity) | JOIN | `MENU_SECURITY_SEQ_NUM`, `MENU_ITEM_SEQ_NUM`, `SECURITY_GROUP_TXT` |
| [MENU_SECURITY_USER](../database-tables.md#menusecurityuser) | JOIN | `MENU_SECURITY_USER_SEQ_NUM`, `MENU_USER`, `SECURITY_GROUP_TXT`, `MENU_USER_EMPLID` |

## Sample SQL

```sql
SELECT DISTINCT
  ITM.MENU_ITEM_SEQ_NUM AS MenuItemSeqNum,
  USR.MENU_USER AS MenuUser,
  ITM.PAGE_ORDER_NUM AS MenuOrder,
  'N' AS FavoriteFlag,
  USR.MENU_USER_EMPLID AS MenuUserEmplid,
  ITM.MENU_CATEGORY_CODE AS MenuCategoryCode,
  CAT.CODE_DESCR AS Category,
  ITM.TOOL_TIP_TXT AS ToolTip,
  ITM.VISIBLE_FLAG AS VisibleFlag,
  PAG.MENU_PAGE_SEQ_NUM AS MenuPageSeqNum,
  PAG.PAGE_NAME AS PageName,
  PAG.PAGE_LINK_TXT AS PageLink,
  PAG.APPLICATION_CODE AS ApplicationCode,
  APP.CODE_DESCR AS ApplicationPath,
  PAG.FAVORITE_NAME AS FavoriteName,
  PAG.SAVE_PREFERENCES_FLAG AS SavePreferencesFlag,
  PAG.PRINT_FLAG AS PrintFlag,
  PAG.DOWNLOAD_FLAG AS DownloadFlag,
  PAG.HELP_FLAG AS HelpFlag,
  PAG.SAVE_FLAG AS SaveFlag,
  PAG.INSERT_FLAG AS InsertFlag,
  PAG.DELETE_FLAG AS DeleteFlag,
  PAG.PRINT_TIP_TXT AS PrintTip,
  PAG.DOWNLOAD_TIP_TXT AS DownloadTip,
  PAG.SAVE_TOOLTIP_TXT AS SaveTip,
  PAG.DELETE_TOOLTIP_TXT AS DeleteTip,
  PAG.INSERT_TOOLTIP_TXT AS InsertTip,
  'N' as UnsecuredFlag
FROM menu_item itm, menu_security sec, menu_security_user usr, MENU_PAGE PAG,
     BUSONLINE_APPS_CODE app, MENU_CATEGORY_CODE cat
WHERE SEC.MENU_ITEM_SEQ_NUM = ITM.MENU_ITEM_SEQ_NUM
  AND PAG.MENU_PAGE_SEQ_NUM = ITM.MENU_PAGE_SEQ_NUM
  AND APP.CODE = PAG.APPLICATION_CODE
  AND CAT.CODE = ITM.MENU_CATEGORY_CODE
  AND upper(USR.SECURITY_GROUP_TXT) = upper(SEC.SECURITY_GROUP_TXT)
UNION
SELECT
  ITM.MENU_ITEM_SEQ_NUM AS MenuItemSeqNum,
  'UNSECURED' AS MenuUser,
  ITM.PAGE_ORDER_NUM AS MenuOrder,
  'N' AS FavoriteFlag,
  NULL AS MenuUserEmplid,
  ITM.MENU_CATEGORY_CODE AS MenuCategoryCode,
  CAT.CODE_DESCR AS Category,
  ITM.TOOL_TIP_TXT AS ToolTip,
  ITM.VISIBLE_FLAG AS VisibleFlag,
  PAG.MENU_PAGE_SEQ_NUM AS MenuPageSeqNum,
  PAG.PAGE_NAME AS PageName,
  PAG.PAGE_LINK_TXT AS PageLink,
  PAG.APPLICATION_CODE AS ApplicationCode,
  APP.CODE_DESCR AS ApplicationPath,
  PAG.FAVORITE_NAME AS FavoriteName,
  PAG.SAVE_PREFERENCES_FLAG AS SavePreferencesFlag,
  PAG.PRINT_FLAG AS PrintFlag,
  PAG.DOWNLOAD_FLAG AS DownloadFlag,
  PAG.HELP_FLAG AS HelpFlag,
  PAG.SAVE_FLAG AS SaveFlag,
  PAG.INSERT_FLAG AS InsertFlag,
  PAG.DELETE_FLAG AS DeleteFlag,
  PAG.PRINT_TIP_TXT AS PrintTip,
  PAG.DOWNLOAD_TIP_TXT AS DownloadTip,
  PAG.SAVE_TOOLTIP_TXT AS SaveTip,
  PAG.DELETE_TOOLTIP_TXT AS DeleteTip,
  PAG.INSERT_TOOLTIP_TXT AS InsertTip,
  'Y' as UnsecuredFlag
FROM menu_item itm, MENU_PAGE PAG,
     BUSONLINE_APPS_CODE app, MENU_CATEGORY_CODE cat
WHERE PAG.MENU_PAGE_SEQ_NUM = ITM.MENU_PAGE_SEQ_NUM
  AND APP.CODE = PAG.APPLICATION_CODE
  AND CAT.CODE = ITM.MENU_CATEGORY_CODE
  AND NOT EXISTS (SELECT 1 FROM menu_security SEC
                 WHERE SEC.MENU_ITEM_SEQ_NUM = ITM.MENU_ITEM_SEQ_NUM)
```

## Operations and processes
- [Build a user's authorized menu](../operations/build-authorized-menu.md)

## Business rules
- [BR-MENU-002: Unsecured menu items are visible by default](../business-rules.md#br-menu-002-unsecured-menu-items-are-visible-by-default)
- [BR-MENU-003: Security-group matching is case-insensitive](../business-rules.md#br-menu-003-security-group-matching-is-case-insensitive)
- [BR-MENU-006: Retrieve-all uses the UNSECURED wildcard sentinel](../business-rules.md#br-menu-006-retrieve-all-uses-the-unsecured-wildcard-sentinel)

> **Note:** Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.Menu\clsMenuAuthorizedItemCollection.vb`
