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

  1. 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来说,那是无效的。

  1. 参数传递例子

    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

  1. 参数的特殊字符 -空格

专注:如果您想传递varchar2参数值并且其中饱含空格,使用”\”把字符串值包括起来。比如,要传送让form的价值如果下面:

TXN_NUMBER=LT INVOICE 1  =>>
TXN_NUMBER=\”LT INVOICE 1\” 

  1. 案例,创建一个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)方法

  1. 简例子

    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

相关文章