0% found this document useful (0 votes)
107 views5 pages

Script That Queries The Menu Structure

The query retrieves the menu structure and permissions for a given menu name. It starts from the specified menu and recursively retrieves its submenus and associated functions, displaying the sequence, prompt, permissions and type (function, submenu, or both) for each entry.

Uploaded by

krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views5 pages

Script That Queries The Menu Structure

The query retrieves the menu structure and permissions for a given menu name. It starts from the specified menu and recursively retrieves its submenus and associated functions, displaying the sequence, prompt, permissions and type (function, submenu, or both) for each entry.

Uploaded by

krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

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_FLAG
FROM apps.FND_MENU_ENTRIES_VL FMEV,
apps.FND_MENUS_TL SUB_MENU_FMEV,
APPS.FND_FORM_FUNCTIONS_TL FFFT,
apps.FND_RESPONSIBILITY_VL FRV
WHERE FRV.MENU_ID = FMEV.menu_id
AND SUB_MENU_FMEV.MENU_ID(+) = FMEV.SUB_menu_id
AND SUB_MENU_FMEV.LANGUAGE(+) = 'US'
AND FFFT.FUNCTION_ID(+) = FMEV.FUNCTION_ID
AND FFFT.LANGUAGE(+) = 'US'
AND FRV.responsibility_name = 'Manufacturing and Distribution Manager' --Your Responsibility Name
ORDER 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 prompt
FROM apps.fnd_menu_entries_vl
WHERE menu_id = fme.menu_id
AND sub_menu_id = fme.sub_menu_id
AND fme.function_id IS NULL),
(SELECT prompt
FROM apps.fnd_menu_entries_vl
WHERE menu_id = fme.menu_id
AND function_id = fme.function_id
AND fme.sub_menu_id IS NULL)
),
LENGTH (NVL ((SELECT prompt
FROM apps.fnd_menu_entries_vl
WHERE menu_id = fme.menu_id
AND sub_menu_id = fme.sub_menu_id
AND fme.function_id IS NULL),
(SELECT prompt
FROM apps.fnd_menu_entries_vl
WHERE menu_id = fme.menu_id
AND function_id = fme.function_id
AND fme.sub_menu_id IS NULL)
)
)
+ (LEVEL * 5),
'-'
) tree_structure
FROM apps.fnd_menu_entries fme
START WITH fme.menu_id =
(SELECT menu_id
FROM apps.fnd_responsibility fr, apps.fnd_responsibility_tl frt
WHERE fr.responsibility_id = frt.responsibility_id
AND 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%'))  

You might also like