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个性化功能来启用它。
![]()
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/
OAF_开发系列24_实现OAF更新记录显示Record History(案例)的更多相关文章
- OAF_开发系列19_实现OAF对话框提示dialogPage(案例)
20150716 Created By BaoXinjian
- OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)
20150716 Created By BaoXinjian
- OAF_开发系列28_实现OAF中反编译获取class包代码JD Compiler(案例)
20150730 Created By BaoXinjian
- OAF_开发系列13_实现OAF通过Vector动态查询设置(案例)
20150715 Created By BaoXinjian
- OAF_开发系列07_实现OAF下拉菜单的上下联动Poplist Synchor(案例)
20150706 Created By BaoXinjian
- OAF_开发系列06_实现OAF属性集的介绍和开发Attribute Set(案例)
20150705 Created By BaoXinjian
- OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)
2014-06-26 Created By BaoXinjian
- OAF_开发系列02_实现OAF页面的通过个性化多语言开发国际化(案例)
2014-06-10 Created By BaoXinjian
- OAF_开发系列26_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(案例)
20150730 Created By BaoXinjian
随机推荐
- Appium 截屏截图操作
问题场景:有时当我们的脚本运行报错时,需要通过截屏来分析异常的来源.而selenium也提供了可以截图的方法TakesScreenshot.getScreenshotAs 举例:我们把截屏的图片存储在 ...
- JS控制的动态表格
对应的js: function pccAddSignRow() { //读取最后一行的行号,存放在LearnTRLastIndex文本框中 var pccTRLastIndex = findObj(& ...
- css3 TransformZ() 3D缩放
transformZ()函数做了一个在Z轴移动的工作,3D空间中,Z轴垂直于x-y所在平面-也就是界面所在的平面,而我们的视角正好垂直于xy平面,所以进行transformZ() 3D缩放,其实在我们 ...
- Cocos2d-x建工程时避免copy文件夹和库
方法一:(官方做法) 打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—&quo ...
- 基于云计算Iaas平台的ZStack
2015年4月,一家全新的基础架构即服务的软件产品ZStack面世.ZStack的主创人员是自在海外云计算公司的中国人.ZStack是基于Java语言,结合了OpenStack和CloudStack上 ...
- 在博文中嵌入Javascript代码
今天吃饭时无聊,突然想到Markdown除了兼容HTML会不会也兼容Javascript,于是博文里除了码文插音乐还可以干点更好玩的事儿了,可以自动修改markdown文件本身,比如说自动修改从Git ...
- js连接字符串
实例 对象令人感兴趣的一点是用它们解决问题的方式.ECMAScript 中最常见的一个问题是字符串连接的性能.与其他语言类似,ECMAScript 的字符串是不可变的,即它们的值不能改变.请考虑下面的 ...
- 使用VC6开发opengl配置
2015-11-09 22:25 VC6中工程创建: (1)创建一个Win32 Console Application.(以我创建的为例,工程名为simpleGL) (2)链接OpenGL li ...
- js 实现进度条功能。
/** * 纯js进度条 * Created by kiner on 15/3/22. */ function progress(options){ this.w = (options &&a ...
- throw与throws的区别
throws语句 throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常.对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的 ...