SELECT LPAD (' ', 6 * (LEVEL - 1)) || menu_entry.entry_sequence SEQUENCE, LPAD (' ', 6 * (LEVEL - 1)) || menu_entry.prompt prompt, menu_entry.grant_flag grant_flag, DECODE (menu_entry.sub_menu_id, NULL, 'FUNCTION', DECODE (menu_entry.function_id, NULL, 'SUBMENU', 'BOTH') ) TYPE, menu2.user_menu_name, func2.user_function_name FROM fnd_menu_entries_vl menu_entry, fnd_menus_tl menu, fnd_form_functions_tl func, fnd_form_functions_tl func2, fnd_menus_tl menu2 WHERE menu_entry.sub_menu_id = menu.menu_id(+) AND menu_entry.function_id = func.function_id(+) AND menu_entry.sub_menu_id = menu2.menu_id(+) AND menu_entry.function_id = func2.function_id(+) AND grant_flag = 'Y' START WITH menu_entry.menu_id = (SELECT menu_id FROM fnd_menus_tl menu2 WHERE menu2.user_menu_name = :MENU_NAME) CONNECT BY menu_entry.menu_id = PRIOR menu_entry.sub_menu_id ORDER SIBLINGS BY menu_entry.entry_sequence