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

[经验分享] EBS根据表单、功能反查其职责、菜单路径

[复制链接]

尚未签到

发表于 2015-9-22 13:32:56 | 显示全部楼层 |阅读模式
  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 = '你的功能名'

运维网声明 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-117288-1-1.html 上篇帖子: WSS3.0 SP1 中EBS综述 下篇帖子: EBS R12中文升级补丁
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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