首页 > 代码库 > Form_OAF中调用Form页面(案例)
Form_OAF中调用Form页面(案例)
2014-12-27 Created By 鲍新建
一、摘要
OAF框架和Oracle EBS都提供了Oracle基于Forms的Oracle EBSforms和基于OAF页面的集成。
你可以从OAF页面运行一个Oracle EBS form,也可以从Oracle EBS form调用一个OAF HTML页面。
1. Form调用OAF页面
通过FND_FUNCTION进行跳转
2. OAF调用Form页面
(1). 设置Item URL为form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName
(2). 通过webbean中方法OAPageContext.forwardImmediatelyToForm(Stringurl)进行跳转
二、案例 - 通过Item URL
1. 为Item设置ID属性,符合OA Framework File Standards,并设置Item类型属性为button,image或者链接
form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName
2. 如果你想传参数给form,那么就设置Destination URI属性为使用下面格式的值(注意参数列表在每个”parameter=value”对之间使用空格隔开).
form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName:param1=value1param2=value2 param3=value3
3. 参数的特殊字符 -空格
注意:如果你想传递varchar2参数值并且其中包含空格,使用”\”把字符串值包括起来。比如,要传递给form的值如下面:
TXN_NUMBER=LT INVOICE 1 =>> TXN_NUMBER=\”LT INVOICE 1\”
4. 案例,创建一个button item,设定Destination URI
三、案例 - 通过OAPageContext
1. 运行时控制通过OAPageContext控制
从OAF页面的一个按钮,图片或者链接来运行一个Oracle Form是不必需要特殊的编码步骤的。
OAButtonBean, OALinkBean和OAImageBean支持上面关于DestinationURI属性的特殊form function的URL格式。
当OAF遇到这种特殊值,它会生成合适的URL并添加一个隐藏的IFrame(内置 frame)到OAF页面。隐藏的IFrame用于Oracle EBS提供的FormsLauncher applet.
提供提交按钮来运行Oracle Form
如果你在OAF页面想通过提交按钮来运行Oracle Form,
你必须使用oracle.apps.fnd.framework.webui.OAPageContext中的OAPageContext.forwardImmediatelyToForm(Stringurl)方法
2. 简单例子
public voidprocessFormRequest(OAPageContext pageContext, OAWebBean webBean) { super.processFormRequest(pageContext,webBean); if(pageContext.getParameter("Apply")!=null) { String destination = "form:SYSADMIN:SYSTEM_ADMINISTRATOR:STANDARD:FND_FNDMNMNU"; pageContext.forwardImmediatelyToForm(destination); } }
转载:Tavor - http://blog.csdn.net/tavor/article/details/19044651
Thanks and Regards
Form_OAF中调用Form页面(案例)