SQL Query to get Oracle Menus & Functions

来源:互联网 发布:sql server 2005 sp3 编辑:程序博客网 时间:2024/05/22 09:01

Script that queries the Menu structure

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 = 'INV_TRANSACTIONS')    --Your Menu Name Here(Parent_Menu_User_Name)CONNECT BY menu_entry.menu_id = PRIOR menu_entry.sub_menu_id  ORDER SIBLINGS BY menu_entry.entry_sequence;
Output:


The query gives you one level of sub menus for any responsibility specified

SELECT  FMEV.ENTRY_SEQUENCE,       FMEV.PROMPT,       FMEV.DESCRIPTION,       SUB_MENU_FMEV.USER_MENU_NAME SUB_MENU_NAME,       SUB_MENU_FMEV.DESCRIPTION SUB_MENU_DESCRIPTION,        FFFT.USER_FUNCTION_NAME,        FMEV.GRANT_FLAGFROM apps.FND_MENU_ENTRIES_VL FMEV,      apps.FND_MENUS_TL SUB_MENU_FMEV,      APPS.FND_FORM_FUNCTIONS_TL FFFT,      apps.FND_RESPONSIBILITY_VL FRVWHERE FRV.MENU_ID = FMEV.menu_idAND   SUB_MENU_FMEV.MENU_ID(+) = FMEV.SUB_menu_idAND   SUB_MENU_FMEV.LANGUAGE(+) = 'US'AND   FFFT.FUNCTION_ID(+) = FMEV.FUNCTION_IDAND   FFFT.LANGUAGE(+) = 'US'AND   FRV.responsibility_name = 'Manufacturing and Distribution Manager' --Your Responsibility NameORDER BY FMEV.entry_sequence;

Output:



This QUERY will retrieve the Function(s) and Submenu(s) which those all are attached to the given input responsibility.

SELECT NVL2 (fme.sub_menu_id, '+', '-')|| LPAD (NVL ((SELECT promptFROM apps.fnd_menu_entries_vlWHERE menu_id = fme.menu_idAND sub_menu_id = fme.sub_menu_idAND fme.function_id IS NULL),(SELECT promptFROM apps.fnd_menu_entries_vlWHERE menu_id = fme.menu_idAND function_id = fme.function_idAND fme.sub_menu_id IS NULL)),LENGTH (NVL ((SELECT promptFROM apps.fnd_menu_entries_vlWHERE menu_id = fme.menu_idAND sub_menu_id = fme.sub_menu_idAND fme.function_id IS NULL),(SELECT promptFROM apps.fnd_menu_entries_vlWHERE menu_id = fme.menu_idAND function_id = fme.function_idAND fme.sub_menu_id IS NULL)))+ (LEVEL * 5),'-') tree_structureFROM apps.fnd_menu_entries fmeSTART WITH fme.menu_id =(SELECT menu_idFROM apps.fnd_responsibility fr, apps.fnd_responsibility_tl frtWHERE fr.responsibility_id = frt.responsibility_idAND frt.responsibility_name = '&responsibility_name') -- 'Application Developer'CONNECT BY PRIOR fme.sub_menu_id = fme.menu_id;
Output:

TREE_STRUCTURE
+-----Flexfield
+----------Key
----------------Register
----------------Segments
----------------Aliases
----------------CrossValidation
----------------Values
----------------Groups
----------------Accounts
+----------Descriptive
----------------Register
----------------Segments
----------------Values
-----------Flexfield Test
+-----Concurrent
-----------Program
-----------Executable
-----------Library
+-----Application
-----------Register
-----------Form
-----------Function
-----------Menu
-----------Messages
+----------Database
----------------Table
----------------Sequence
----------------View
+----------Lookups
----------------Application Object Library
----------------Common
----------------CE lookups
----------------GCS Lookups
----------------IA Lookups
----------------igi lookups
----------------XLA Lookups
----------------XLE Lookups
----------------FUN Lookups
----------------Service Lookups
+----------Validation
----------------Set
----------------Values
------Profile
+-----Attachments
-----------Document Entities
-----------Document Categories
-----------Attachment Functions
-----------Repositories
+-----Other
+----------Requests
----------------Run
----------------View
----------------Set
-----------Profile
-----------Concurrent
-----------Change Organization
-----------Running Jobs
+----------EDI
----------------EDI Setup
----------------EDI Data

             

From Function to Menu(Basic Queries)

SELECT * FROM FND_FORM_FUNCTIONS_TL WHERE user_function_name LIKE '%Define Material Status%';                                 

SELECT * FROM FND_MENU_ENTRIES_VL WHERE function_id = 1006916; --Get Menu_id

SELECT * FROM FND_MENU_ENTRIES_VL WHERE menu_id = 67607 --同一Level都有哪些其他功能
 
SELECT * FROM FND_MENUS WHERE menu_id = 67607 --查看上层的Menu,Menu_Name:INV_SETUP_TRANSACTIONS

SELECT * FROM FND_MENU_ENTRIES WHERE sub_menu_id = 67607 --上层Menu_id:67579

SELECT * FROM FND_MENUS WHERE menu_id = 67579 --查看上层的Menu_Name:INV_SETUP

SELECT * FROM FND_MENU_ENTRIES WHERE sub_menu_id = 67579 --上层Menu_id:67579

SELECT * FROM FND_MENUS WHERE  menu_id IN  (SELECT menu_id FROM FND_MENU_ENTRIES WHERE sub_menu_id = 67579)


SELECT fmt.description,fm.*
FROM FND_MENUS fm,FND_MENUS_TL fmt WHERE fmt.LANGUAGE = 'US' AND fm.menu_id = fmt.menu_id
AND fm.menu_id IN
(SELECT menu_id FROM FND_MENU_ENTRIES_VL WHERE function_id IN
(SELECT function_id FROM FND_FORM_FUNCTIONS_TL WHERE user_function_name LIKE '%Define Material Status%'))  





原创粉丝点击