随笔 - 571  文章 - 4  评论 - 253  阅读 - 72万

OAF_开发系列24_实现OAF更新记录显示Record History(案例)

20150716 Created By BaoXinjian

一、摘要


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

1. 首先当然是后台的表结构中必须包含WHO字段列了

2. 基于的视图对象必须是非PL/SQL的可更新VO

3. 这个功能仅在Header、Table和Advanced Table 这3个控件中有用

4. 需要设置预置文件 FND: Record History Enabled (FND:启用历史记录) / FND_RECORD_HISTORY_ENABLED

 

由于(启用记录历史)是Header、Table和Advanced Table 控件的一个Boolean属性,

因此可以在开发OAF页面的时候通过设置(Record History Enabled)来启用历史记录功能,

也可以像OAF页面显示“历史记录”图标一文中描述的一样使用OAF个性化功能来启用它

二、案例分析


1. 启用方式

由于“启用记录历史”是Header、Table和Advanced Table 控件的一个Boolean属性。

因此可以在开发OAF页面的时候通过设置(Record History Enabled)来启用历史记录功能,也可以像通过OAF个性化功能来启用它。

jdev_enable_record_history

 

2. 下面是Header和Table控件显示记录历史图标的效果

header_record_history

table_record_history

 

3. 代码控制

实际上对于3个空间的Java类:OAHeaderBean, OATableBean 和 OAAdvancedTableBean 都有一个方法setRecordHistoryEnabled(boolean)。

在页面运行的时候processRequest()方法会调用它,当点击历史记录图标时会打开记录历史模式窗口,此时记录历史页面的控制器OARecordHistoryCO –> prcoessRequest()方法会从AM中取得当前行的。

然后利用实体行的row.getEntity()方法从实体对象中通过entityObject.getAttribute()方法来取得WHO字段的值。

 

三、运行测试


1. 修改Record History Enabled为True

2. 运行测试,显示Record History

3. 点看查看历史记录

 

Thanks and Regards

参考:OracleSeeker - http://oracleseeker.com/2009/08/27/show_record_history_in_oaf_page_view/

posted on   东方瀚海  阅读(898)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?

点击右上角即可分享
微信分享提示