mwjhw216 发表于 2017-5-24 08:40:27

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_flagin varchar2 default 'SESSION',
other_paramsin 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页面如下的效果如下

  转自:http://blog.csdn.net/tavor/article/details/19043797
页: [1]
查看完整版本: EBS OAF开发中如何在form上调用OAF页面并传递参数给OAF页面