EBS根据表单、功能反查其职责、菜单路径

来源:互联网 发布:淘宝优惠券入口 编辑:程序博客网 时间:2024/05/05 13:07
EBS菜单繁多,有时候难免找不到北,下面以实际例子来说明查找方法。


54.2 解决方案


假设在某个职责下通过Ctrl+L找到某个功能,如下,其实Ctrl+L查找的是功能名,假设我查到的功能名称是HEL:物料编码申请,


当然如果打开看了界面,通过菜单栏的帮助>关于Oracle Applications查看,比如查看到的表单名是HELINVIC.fmx,那么该表单的简称按照规范应该是HELINVIC。

然后使用应用开发员职责,打开应用产品>表单,通过刚才查询到的表单简称HELINVIC查询到结果如下,看到了用户表单名是HEL:物料编码申请,

然后再打开应用产品>功能 ,根据用户功能名 HEL:物料编码申请 查询到的结果如下,当然如果是按照规范的话,也可以根据表单简称HELINVIC 作为表单查询项也可以查询到同样的结果:

在该界面的菜单栏 帮助>诊断>检查 的弹出框中,字段选择FUNCTION_ID,则可查到该功能的ID,是27191。

然后通过如下SQL语句可以查询到哪些菜单用到了这个功能,注意更改红色部分为上步所查找到的功能ID:
SELECT fmv.MENU_ID,
       fmv.MENU_NAME,
       fmv.USER_MENU_NAME,
       fmv.TYPE,
       fmv.DESCRIPTION
  FROM FND_MENUS_VL fmv
where exists (SELECT fmev.MENU_ID
          FROM FND_MENU_ENTRIES_VL fmev
         where fmev.FUNCTION_ID = 27191
           and fmev.MENU_ID = fmv.MENU_ID)


 


然后这些菜单在哪些职责中呢?职责对应哪个菜单可以通过系统管理员职责的安全性>责任>定义界面看到,一个责任名对应哪个菜单呢?


可以通过如下语句查看,将红色部分换成你需要查看的职责名:

SELECT RESPONSIBILITY_NAME,
       RESPONSIBILITY_KEY,
       DESCRIPTION,
       MENU_ID 
  FROM FND_RESPONSIBILITY_VL
WHERE (version = '4' or version = 'W' or version = 'M')
   and RESPONSIBILITY_NAME=' HELC_客户化开发'

但是这样找到职责对应的菜单没有用,你还无法确认该职责是否会包含你要查找的功能。


下面我介绍一种查出所有包含该功能的职责及其菜单ID的方法,红色部分换成你找到的功能ID,本例是27191:请注意写法:一定要用IN,若换成EXISTS的话就会很慢,甚至不能出来结果,所以啊,不能盲目迷信EXISTS一定比IN好。


   select frv.RESPONSIBILITY_NAME,

          frv.RESPONSIBILITY_KEY,
          frv.DESCRIPTION,
          frv.MENU_ID,
          fmv.MENU_NAME,
          fmv.USER_MENU_NAME
     from FND_RESPONSIBILITY_VL frv
    inner join FND_MENUS_VL fmv on frv.MENU_ID = fmv.MENU_ID
    where (frv.version = '4' or frv.version = 'W' or frv.version = 'M')
      and frv.MENU_ID in
          (select fmev.MENU_ID
             from FND_MENU_ENTRIES_VL fmev
           connect by prior fmev.MENU_ID = fmev.SUB_MENU_ID
            start with fmev.FUNCTION_ID = 27191)


 


不要以为现在万事大吉了,那么我到这些菜单中去找到功能就OK拉,这样还是不方便,刚才查出来的结果有30多个职责用到了这个功能,这些职责不乏菜单较多,层级也较多的,那么一层层一个个找到这个最底层的菜单可能比较费力。比如HELC_客户化开发 这个职责能使用的功能就超过了一万个,你要一个个找,那就费事费时了,所以这里提供一种更加方便的方法,假设我要查找其中一个职责比如是HELC_客户化开发 职责下这个菜单在哪儿?根据刚才的语句我知道这个职责对应的MENU_ID是80573,根据下面这个语句我就知道是这个职责对应菜单的路径,第一个红色部分为功能ID,第二个红色部分为职责对应的MENU_ID。


 


select level,a.* from 
(select fmev.MENU_ID, fmev.SUB_MENU_ID, fmev.PROMPT
  from FND_MENU_ENTRIES_VL fmev
connect by prior fmev.MENU_ID = fmev.SUB_MENU_ID
start with fmev.FUNCTION_ID = 27191) a 
  connect by prior a.sub_menu_id=a.menu_id 
  start with a.menu_id=80573


 


 


下面这句是查找功能id得方法


SELECT FUNCTION_ID
  FROM FND_FORM_FUNCTIONS_VL
WHERE USER_FUNCTION_NAME = '你的功能名'
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 头戴耳机压头发怎么办 小米4c很卡怎么办 小米4c玩王者怎么办 小米4s屏幕乱跳怎么办 小米4s手机后壳碎了怎么办 小米5spius开不了机怎么办 小米5s无限重启怎么办 小米5s外屏坏了怎么办 小米5s内屏碎了怎么办 小米4充电没反应怎么办 小米5手机变卡了怎么办 小米5变卡了怎么办 小米手机充电无反应怎么办 小米6相机卡顿怎么办 华为手机玩游戏发热怎么办 华为手机变慢了怎么办 华为p10手机变慢怎么办 华为手机账户密码忘记了怎么办 QQ浏览器无法加载插件怎么办 电脑开了机黑屏怎么办 扫描仪打不开运单扫描怎么办 打印机不支持64位系统怎么办 xp系统dnf闪退怎么办 w10电脑所有程序都打不开怎么办 安卓手机太卡怎么办 系统装到f盘了怎么办 虚拟机占c盘内存怎么办 外机连无线虚拟机显示受限怎么办 使用msdn下载解压后怎么办 路由80端口被占用怎么办 c盘拒绝粘贴文件怎么办 oracle数据库密码忘了怎么办 电脑开机时不显示用户名怎么办? xp系统忘记开机密码怎么办 电脑开机密码忘了怎么办 c盘满了怎么办win10 win10电脑开机密码忘了怎么办 win10的开机密码忘了怎么办 u盘中了exe病毒怎么办 眼睛长个麦粒豆怎么办 苹果手机sdk授权失败怎么办