如何从EBS中调用APEX页面并在独立窗口打开?
解决EBS中点击APEX功能在新窗口打开的方法
我来帮你搞定这个需求!要让EBS里的APEX职责-菜单-功能在新窗口打开页面、保留原EBS页面,你可以试试下面这两种常用方法:
方法1:修改EBS功能的Web HTML Call属性
这是最直接的配置方式,不需要额外写代码:
- 登录EBS系统,进入系统管理员职责(或具备功能定义权限的职责)
- 导航路径:
应用程序 -> 功能 - 找到关联APEX页面的目标功能,打开编辑页面
- 在Web HTML Call字段里,调整原有URL调用,添加新窗口打开的逻辑。比如原来的调用是:
修改为:OA.jsp?page=/pls/apex/f?p=100:1:0:::::
如果是直接指向APEX的URL,也可以简化成:javascript:void(window.open('OA.jsp?page=/pls/apex/f?p=100:1:0:::::', '_blank'));javascript:void(window.open('/pls/apex/f?p=100:1:0:::::', '_blank')); - 保存修改后,退出EBS重新登录(或清除浏览器缓存),测试点击该功能,就能在新窗口打开APEX页面了。
方法2:通过自定义PL/SQL函数生成带新窗口属性的链接
如果你的APEX功能是通过自定义PL/SQL逻辑生成URL的,可以调整函数代码,让返回的链接包含target="_blank"属性:
- 找到负责生成APEX页面URL的PL/SQL函数(通常在菜单的自定义代码里)
- 修改函数,让它返回带新窗口属性的HTML链接,示例代码如下:
FUNCTION get_apex_url RETURN VARCHAR2 IS l_url VARCHAR2(2000); BEGIN l_url := '/pls/apex/f?p=100:1:0:::::'; -- 返回带新窗口属性的链接 RETURN '<a href="' || l_url || '" target="_blank">打开APEX页面</a>'; END; - 重新编译函数,更新对应的菜单或功能配置后测试即可生效。
注意事项
- 确保浏览器允许EBS站点弹出新窗口,部分浏览器会默认拦截弹窗,需要将EBS地址添加到信任站点列表。
- 若使用Oracle EBS R12.2及以上版本,需检查OA Framework的安全配置,确保JavaScript调用不会被拦截。
内容的提问来源于stack exchange,提问作者Abha
相关产品推荐
相关产品推荐

