Form_Form与OAF页面互相调用(案例)

简介: 2014-12-27 Created By BaoXinjian 一、摘要 OAF框架和Oracle EBS都提供了Oracle基于Forms的Oracle EBSforms和基于OAF页面的集成。

2014-12-27 Created By BaoXinjian

一、摘要


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)进行跳转

 

二、案例 - Form调用OAF页面


1. 如果你想从Oracle Applications Form直接调用OAF页面Function,你必须使用下面的Oracle API

PACKAGE FND_FUNCTION IS  
procedure EXECUTE(function_name in varchar2,  
                 open_flag     in varchar2 default 'Y',  
                 session_flag  in varchar2 default 'SESSION',  
                 other_params  in varchar2 default NULL,  
                 activate_flag in varchar2 default 'ACTIVATE',  
                 browser_target in varchar2 default NULL);  

2. 参数的传递

你也可以使用URL格式通过other_params传递额外的参数,比如name1=value1&name2=value2…

注意:在第一个参数的名/值对之前没有(&)符号,但是在后面的参数名/值对的前面都有(&)符号。

注意:open_flag和session_flag参数不显示在上面的示例中,因为对于HTML function来说,那是无效的。

3. 参数传递例子

fnd_function.execute( function_name => 'OKE_OKEKVCOM'  
                      other_params  => 'headerid='||:parameter.k_header_id||  
                      '&Ver1='||:compare_version.version1||  
                      '&Ver2='||:compare_version.version2);  

 

二、案例 - 通过Item URL:OAF调用Form


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:OAF调用Form


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); } } 

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
2月前
|
前端开发 PHP 数据格式
​超简单实现联系表单Contact Form自动发送邮件
构建网站联系表单以自动发送邮件的简单方法包括创建HTML表单和PHP处理脚本。HTML表单收集姓名、邮箱、主题和消息,提交至`send_mail.php`。PHP脚本接收数据,使用`mail()`函数发送邮件到指定地址。要确保服务器支持PHP邮件功能,并可能需调整SMTP设置以避免垃圾邮件过滤。可优化点包括使用SMTP服务器、增加表单验证和采用HTML邮件模板。
|
12月前
HTML form 表单组合功能使用
HTML form 表单组合功能使用
133 0
|
12月前
|
数据安全/隐私保护
table和form的使用,以及制作登录表单
table和form的使用,以及制作登录表单
|
Java
SpringMVC中使用form:form表单标签报500错误
SpringMVC中使用form:form表单标签报500错误
100 0
|
前端开发 JavaScript Java
【前端】form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因
form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因
944 1
Element-ui中 表单(Form)校验的几种形式 及 表单嵌套表格含上传(Upload)组件的综合案例
Element-ui中 表单(Form)校验的几种形式 及 表单嵌套表格含上传(Upload)组件的综合案例
836 0
Element-ui中 表单(Form)校验的几种形式 及 表单嵌套表格含上传(Upload)组件的综合案例
|
数据安全/隐私保护 容器
HTML—— 表单标签(input,lable,textarea等)以及相亲网注册界面实现
HTML—— 表单标签(input,lable,textarea等)以及相亲网注册界面实现
242 0
HTML—— 表单标签(input,lable,textarea等)以及相亲网注册界面实现
|
JavaScript
Extjs Form 表单修改
Extjs修改分两种方法:1.前台直接加载;2.通过后台远程加载 1.直接加载:方法 form.getForm().loadRecord(); 应用时要求页面上已经存在页面中的所有数据,比如选中gridPanel一行,然后直接传递此行记录,到formPanel页面,可直接加载 2.后台加载:方法 form.getForm().load(); 应用时 传递一个参数到后台,然后远程取值,绑定。
1007 0
|
移动开发 JSON JavaScript
基于原生JS验证表单组件:xy-form
基于原生JS验证表单组件:xy-form
基于原生JS验证表单组件:xy-form
|
前端开发 Java
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)中
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)
156 0
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)中