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个性化功能来启用它。
2. 下面是Header和Table控件显示记录历史图标的效果
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/
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建