Retrieve the full authorized menu snapshot.
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)