You are browsing the archive for Oracle EBS二次开发.

如何得到Oracle EBS中BI Publisher的版本

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

今天刚好有一个BI Publisher的问题需要提Tar,Tar中要求提供BI Publisher的版本,特地查看了一下如何来查看EBS中BI Publisher的版本问题,Oracle提供了如下的几种方法:

  1. 从BI Publisher产生的报表文件查看
  2. 通过系统已打过的补丁(Patch)来决定,通过补丁号和BI Publisher的版本对应关系得出最终的版本
  3. 基于MetaInfo.class文件的版本号来决定,通过MetaInfo.class文件的版本号和BI Publisher的版本对应关系得出最终的版本

由于使用2,3方法必须知道补丁和版本的对应关系以及MetaInfo.class文件和版本的对应关系,因此使用起来比较麻烦,一般情况下不使用它,下面就记录如何使用最方便简单的一个方法:从BI Publisher产生的报表文件查看

通过模板的预览功能来生成报表输出文件

  1. 职责:XML Publisher Administrator
  2. 功能:Templates
  3. 随便选择一个有预览的模板
  4. 点击Preview按钮
  5. 保存PDF文件

PDF文件输出

  1. Adobe Reader打开PDF文件
  2. 打开File菜单中的Properites 项
  3. 选择Description标签页,PDF Producer 属性显示版本号,如Oracle XML Publisher 5.6.3就是我们要的东西

 

对其它方法感兴趣的可以到Metalink上面看看 362496.1

使用DBMS_LOCK控制程序并发

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

在调用并发的程序时,假设两个人同时提交了某一个并发请求,并且传入了同样的参数,假设在程序中使用了对状态的控制,例如在刚进入main函数的时候马上就将状态update了,那么其中某一个人就会查不到该条数据最后请求没有执行。

也可以使用另外一种方法,使用lock,将提交的并发锁住,其他提交的只能排队。

Read the rest of this entry →

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 →