You are browsing the archive for OA Framework.

OAF中CheckBox性能优化以及在12版开发下的修改

九月 23, 2009 in Oracle EBS二次开发

假设有这样的需求,在Table的第一列加入单选框,当用户对table中的某几行打勾后,点击页面按钮(假设提交按钮)。那么对应几行的状态都由New变成Confirm。

clip_image002

如上图,当点击Apply按钮后,打勾的行状态都变成confirm。

实现的方法有:

  1. 在点了apply后对所有的行循环一遍后选出打勾的行将状态set一下,但是这样子的方法是很没有效率的(假设有一万行,并且只选了一行)。
  2. 打开CHECKBOX上的FireAction,当点了这一行以后马上对该行状态进行处理(set好),当点了apply后就commit就可以了,这里需要注意的就是找到当前行以及点空后的处理。

所以优化的关键是如何根据打勾的行快速的在VO中找到对应的行并且对它进行操作。

Read the rest of this entry →

使用Enumeration检查页面PPR事件

九月 22, 2009 in Oracle EBS二次开发

在OAF的页面中,有很多隐藏的页面事件,例如LOV中的lovUpdate、lovValidate,当我们点击LOV或者是按Tab键切换出LOV的时候,通过pageContext.getParameter(EVENT_PARAM)可以捕捉到。

只要页面上存在着PPR事件,那么就会有很多隐藏的参数,可能对我们开发的时候很有帮助,这里介绍一种方法来查看页面事件。

1
2
3
4
5
6
7
8
9
import java.util.Enumeration;
 
Enumeration parms = pageContext.getParameterNames();
String name = "";
while (parms.hasMoreElements())
{
  name = (String)parms.nextElement();
  System.out.println(name+" == "+ pageContext.getParameter(name));
}

使用这个方法,当发生了PPR事件,就可以在processFormRequest中捕捉到所有的页面事件。不过这个方法会将所有的参数打印出来,需要自己一个一个去找。

OAF开发中一些LOV相关技巧

九月 21, 2009 in Oracle EBS二次开发

在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMessageLovInputBean),二是弹出的LOV模式窗口(OAListOfValueBean)。用户选择LOV的按钮就会弹出LOV窗口,用户在LOV窗口查询并选择了值,可以返回到页面上的LOV输入框。在这里就不赘述如何创建LOV,只说一些平时会碰到的应用:

  1. 控制LOV的查询结果
  2. LOV相关事件
  3. 动态LOV
  4. LOV Choice

Read the rest of this entry →

再议OAF中的记录历史(Record History)功能

八月 27, 2009 in Oracle EBS二次开发

前面同事在itjaj上面发表了通过个性化功能来启用OAF页面中表格的“记录历史”信息的文章:OAF页面显示“历史记录”图标,就借这个机会再对OAF页面控件中显示“记录历史(Record History)”的功能做一些更深入的了解。

OAF页面控件中显示记录历史信息有如下的限制:

  1. 首先当然是后台的表结构中必须包含WHO字段列了
  2. 基于的视图对象必须是非PL/SQL的可更新VO
  3. 这个功能仅在HeaderTableAdvanced Table 这3个控件中有用
  4. 需要设置预置文件 FND: Record History Enabled(FND:启用历史记录)/FND_RECORD_HISTORY_ENABLED

Read the rest of this entry →

Form个性化+OAF+BIPublisher实现即时打印

八月 21, 2009 in Oracle EBS二次开发

2005年,在BI Publisher(开始叫XML Publisher)推出不久后,我在项目上面利用Form个性化+OAF+XML Publisher的API来实现了一个即时打印的功能,后面在ITPUB上面发布了一个修剪版,之后据我所知,很多项目中采用了这个解决方案,同时也有其他同事采用了相似的方法进行了其它方式的即时打印。由于最近又有人有这样即时打印的需求而问我索要相关的程序和资料,因此一并整理一个完整的版本供大家参考。

Read the rest of this entry →