`
lz1365871801
  • 浏览: 23074 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

 
阅读更多

从OAF页面运行Oracle EBS forms

  1.在页面上添加一个链接和一个提交按钮,结构如下图.

    

 

 

2.为链接Item设置属性如下图所示,这里主要要设置的属性是Destination URI,它的值为form:MSC:MFG_AND_DIST_SUPER_USER_APS:STANDARD:RCV_POTEST,

   

 

 

3.上面URI的式样是
form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName,

responsibilityApplicationShortName就是ApplicationDeveloper->Application->Register form界面上缩写名。

 

 

4.responsibilityKey就是SystemAdminstrator->Security->Responsibility->Define上的ResponsibilityKey的值。

 

 

5.securityGroupKey就是用户分配职责时指定的SecurityGroup所对应的key,可以在Application Developer->Application->Lookup->Security Groups上面对应的Name字段。

 

 

 

6.部署运行页面,就可以打开对应的form,但是这里是不可以动态传参数的。

 

7.要动态传参数给form,就需要用提交按钮而不是链接或者图片,设置上面添加的提交按钮的属性如下

    

 

 

8.在processFormRequest方法中添加代码如下,可以根据页面上输入框上的值传入到相应form的parameter中去,然后form上可以根据这个值做相应的处理或者显示相应的值。

public void processFormRequest(OAPageContextpageContext, OAWebBean webBean){

  super.processFormRequest(pageContext,webBean);
  if(pageContext.getParameter("InvokeFormBtn") != null){

    String destUrl ="form:MSC:MFG_AND_DIST_SUPER_USER_APS:STANDARD:RCV_POTEST";
    String param =pageContext.getParameter("ParamTextInput");
    if(param != null){
      destUrl+=":TEST_PARAM=";
      destUrl+=param;
    }
    pageContext.forwardImmediatelyToForm(destUrl);
  }
}

   这里Destination URI属性为使用下面格式的值(注意参数列表在每个”parameter=value”对之间使用空格隔开).

form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName:param1=value1 param2=value2 param3=value3

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

TXN_NUMBER=LT INVOICE 1

就要使用下面的替换:

TXN_NUMBER=\”LT INVOICE 1\”

 

9.在对应的form上添加相应的parameter为TEST_PARAM,类型根据需要设置,并在要处理这个参数的trigger中添加相应的处理代码,这里是在BLOCK级别的WHEN-NEW-BLOCK触发器中根据这个参数的值初始化这个Block上一个字段的值。

IF:PARAMETER.TEST_PARAM IS NOT NULL THEN
 :FIND.TXNID := :PARAMETER.TEST_PARAM;
END IF;

 

10.运行是OAF页面如下,如果点链接,会打开form但不传递任何参数;如果点提交按钮,就会把输入框中的值传递到form上,并显示在TXNID字段上。

 

 

11.点击按钮后打开Form的效果如下

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    EBS即时打印,oaf在线打印

    在EBS中,OAF(Oracle Application Framework)是一个强大的开发平台,用于构建和定制EBS的应用程序。本文将详细讨论如何通过OAF实现EBS的即时打印功能。 首先,我们要理解OAF的基本概念。OAF是基于JDeveloper的,...

    oracle ebs r12二次开发

    `call_form` 方法用于调用另一个表单,并将控制权传递给该表单,直到它完成或被关闭。与`open_form`不同的是,当使用`call_form`时,原始表单将失去焦点,用户只能操作被调用的表单。 其主要参数包括: 1. **Form...

    深入浅出Oracle之OAF开发参考

    OAF的视图部分采用了UIX框架,这是一种基于元数据库支持的框架,整个页面由XML定义并存储于Oracle数据库中。通过JDeveloper工具,开发者可以轻松地定义XML结构,通常不需要编写额外的代码即可完成页面设计。 ##### ...

    ORACLE EBS 开发基础

    在一个FORM中调用不同的WINDOW** - 通过使用多个Window,可以在单个Form中实现复杂的功能。 **19. Form假死锁问题之初步解决** - 解决Form中的死锁问题通常涉及到优化触发器逻辑、调整并发设置等。 **20. FORM6i...

    Oracle-ERP开发笔记

    - 在一个FORM中可以根据不同的条件调用不同的WINDOW,以提供更加灵活的应用程序界面。 **23. Form假死锁问题之初步解决** - 解决由于长时间运行的事务导致的假死锁问题,通常涉及到事务管理的最佳实践。 **24. ...

    java 在线打印,oaf在线打印

    Java在线打印和Oracle Application Framework (OAF)在线打印是企业级应用中常见的重要功能,尤其在Oracle E-Business Suite (EBS)系统中。本文将深入探讨这些技术,旨在帮助开发者理解和实现这些在线打印功能。 ...

Global site tag (gtag.js) - Google Analytics