Oracle之OAF开发参考(7)

2019-06-17 09:42

ORACLE ERP最佳实践 ORACLE核心应用技术 OAF开发

342555394.doc (v. 1.0 )

Doc Ref:

错误!未找到引用源。

4.8 Tree控件实现

OAF控件对象详解 29 of 69

Company Confidential – For internal use only

ORACLE ERP最佳实践 Doc Ref:

错误!未找到引用源。

5. 常用的Region Type

ORACLE核心应用技术 OAF开发

342555394.doc (v. 1.0 )

5.1 SingeDefaultColumn 布局

5.2 messageComlumnLayout 布局

5.3 SubTabs 布局

5.4 Train 布局

常用的Region Type 30 of 69

Company Confidential – For internal use only

ORACLE ERP最佳实践 Doc Ref:

错误!未找到引用源。

6. OAF_VO对象详解

ORACLE核心应用技术 OAF开发

342555394.doc (v. 1.0 )

6.1 Binding Style 绑定方式

1. Binding Style主要用于对VO的where clause做动态传值,总共有三种方式 1) Oracle Positional

是一种常用的方式,简单来说这种方式都是通过参数”:”和数字声明的,比如

Where parameter1 = :1 and parameter2=:2。参数只会根据数字在VO Sql Statement中出现的顺序传入到View Object中,而不会根据数字的大小而传入。

在VO上设置完之后,我们需要在执行VO查询之前,对VO参数进行绑定;添加代码如下 BindingStyleTestVOImpl vo =this.getBindingStyleTestVO1(); vo.setWhereClause(null);

vo.setWhereClauseParam(0, new Number(Integer.parseInt(“ticket_id”)));

vo.setWhereClauseParam(1, new Number(Integer.parseInt(“mr_route_id”)))

(注意:在使用vo.setWhereClauseParam(int index, Object value)进行赋值的时候, index一定是从0开始的,接着就是1,2,3,…… .但是在VO SQL Statement中,参数却不是必须从0开始,而且后面的参数的数值也不必比前面的大。但是在使用vo.setWhereClauseParam()给VO绑定参数值的时候一定要使用0和1作为index,而且index必须和绑定参数在VO SQL Statement中出现的顺序对应的类型一致);

如果使用了其他index,就会抛出无效的列索引错误

OAF_VO对象详解 31 of 69

Company Confidential – For internal use only

ORACLE ERP最佳实践 ORACLE核心应用技术 OAF开发

342555394.doc (v. 1.0 )

Doc Ref:

错误!未找到引用源。

oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122:Invalid column index ….. 2)

Oracle Name

创建VO添加参数查询。

在Bind Variable 页面上定义要在VO SQL Statement中使用的绑定参数的名字,类型和默认值

在VO定义上设置完之后,我们需要执行VO查询之前,使用

vo.setNamedWhereClauseParam(String name, Object value)对VO的绑定参数进行赋值,如下面的代码。

OAF_VO对象详解 32 of 69

Company Confidential – For internal use only

ORACLE ERP最佳实践

ORACLE核心应用技术 OAF开发

342555394.doc (v. 1.0 )

Doc Ref:

错误!未找到引用源。

BindingStyleTest2VOImpl vo =this.BindingStyleTest2VO1(); --初始化

vo.setWhereClause(null); vo.setWhereClauseParams(null);

vo.setNamedWhereClauseParam(\ vo.setNamedWhereClauseParam(\ 3)

JDBC Positional

这种绑定方式一般用在调用存储过程和函数会通过?进行参数传递。一般在OAF用的很少

6.2 Row Impl 类 1.VO初始化分类 1)仅插入型VO的初始化 //检查VO是否有行

Vo.getFetchedRowCount()//检查当前缓存中VO的行数,如果VO已经被插入过行了,那么返回的值肯定大于0,就无需调用vo.setMaxFetchSize

为了避免OAF中一些已知的BUG,我们在对其进行初始化时最好写下面代码 if (vo.getFetchedRowCount() == 0) { vo.setMaxFetchSize(0); vo.executeQuery();

... // Insert rows into the view object. }

OAF_VO对象详解 33 of 69

Company Confidential – For internal use only


Oracle之OAF开发参考(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏装配式混凝土结构施工监理实施细则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: