CREATE OR REPLACE FORCE VIEW nav_top AS WITH curr AS ( SELECT /*+ MATERIALIZE */ app.get_app_id() AS app_id, app.get_page_id() AS page_id, app.get_page_parent() AS parent_id, app.get_page_root() AS page_root, app.get_page_group() AS page_group, app.get_user_id() AS user_id, app.get_user_name() AS user_name FROM DUAL ) SELECT CASE WHEN n.parent_id IS NULL THEN 1 ELSE 2 END AS lvl, -- CASE WHEN n.page_id = 100 -- home page THEN REPLACE(n.page_name, '&' || 'ENV_NAME.', app.get_env_name() || ' &' || 'nbsp; ') WHEN n.page_id > 0 THEN REGEXP_REPLACE(REPLACE(n.page_name, '&' || 'APP_USER.', APEX_ESCAPE.HTML(NVL(curr.user_name, curr.user_id))), '^(&' || 'nbsp; )+', '') ELSE '