现在的位置: 首页 > 综合 > 正文

EBS OAF开发中如何在form上调用OAF页面并传递参数给OAF页面

2014年04月04日 ⁄ 综合 ⁄ 共 1090字 ⁄ 字号 评论关闭

EBS OAF开发中如何在form上调用OAF页面并传递参数给OAF页面

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

1.      为Form添加一个按钮或者其它Item并添加相应的触发器,这里使用按钮,并在其WHEN-BUTTON-PRESSED触发器汇中对相应的OAF页面。

其代码如下

fnd_function.execute(function_name => 'RCVOAFTEST',

                     other_params  =>'txn_id='||:find.txnid);

这里Oracle EBS 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);

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

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

2.      如果要在被调用的OAF页面上需要接受传递的参数,需要在相应的CO中的processRequest方法中添加类似的代码,如果不需要接受参数,就不需要添加

 

 public void processRequest(OAPageContextpageContext, OAWebBean webBean)

  {

    super.processRequest(pageContext, webBean);

    String txnId =pageContext.getParameter("txn_id");

    if(txnId != null)

    {

      OATextInputBean paramBean =(OATextInputBean)webBean.findChildRecursive("ParamTextInput");

      if(paramBean != null)

      {

        paramBean.setText(txnId);

      }

}

}

3.      Form的运行效果如下,点击OpenOAF Page按钮

4.      OAF页面如下的效果如下

 

抱歉!评论已关闭.