设为首页 收藏本站
查看: 484|回复: 0

[经验分享] SQL Query to get Oracle Menus & Functions

[复制链接]

尚未签到

发表于 2016-8-11 07:44:25 | 显示全部楼层 |阅读模式
  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:  
DSC0000.jpg
  

  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:

DSC0001.jpg


  

  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%'))
DSC0002.jpg





  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-256229-1-1.html 上篇帖子: Oracle ERP系统借贷关系表 下篇帖子: VBA宏调用Oracle PL/SQL Procedure
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表