使用Form个性化修改标准Form的LOV
九月 23, 2008 in Oracle EBS二次开发
在之前的文章 使用Custom.pll修改标准Form的LOV 中描述了如何使用Custom.pll修改LOV,现在介绍另外一种不需要修改fmb文件修改Form LOV的方法,使用Form的个性化工具。
本文结合一个简单的Form做描述,这是没有个性化之前的LOV,LOV取自表FND_USER,没有做任何条件限制。
首先打开Form的个性化工具,点击菜单帮助–诊断–自定义代码–个性化:
一、选择触发器事件以及触发器对象
在打开的个性化窗口中
如下图,其中触发器选择WHEN-NEW-ITEM-INSTANCE,触发器对象选择HEADER.HEADER_ITEM(对应LOV的Item),保存:
二、确定触发器动作
1.创建LOV的Record Group
切换活动标签页,首先创建Record Group,为了简单起见,写死了一个查询条件,只出来两条记录:
2.修改LOV的Group Name属性
在值对应那一栏填上之前创建的Record Group的名字:
最后保存退出,重新打开Form,就能看到效果了
三、总结
Form个性化和Custom.pll都是可以用来个性化Form的方法。当使用Form个性化修改LOV,用来创建的Record Group如果含有Form中的某个Item作为条件时(比如供应商地点的LOV中要以供应商作为条件),这时候如果把带有参数的查询条件作为Record Group的变元就会有问题。
因为个性化中创建Record Group的时候认为变元是一个字符串,我们加入了类似:PO_HEADERS.VENDOR_ID的字样它是不识别的。所以当遇到这样的情况,可以使用Custom.pll,通过name_in(‘PO_HEADERS.VENDOR_ID’)来组合查询条件,然后在每次WHEN-NEW-ITEM-INSTANCE的时候,去动态的设置LOV来达到我们所期望的效果。
相关文章:
lgyang225 said on 八月 17, 2009
能不能在做这不得同时,限定这个LOV是验证的,刚好遇到这样一个问题,FORM是标准化的。
老枪 said on 五月 16, 2009
谢谢老师,补丁没有安装,已联系相关人员安装补丁了
aronezhang said on 五月 15, 2009
应该是由于你的系统没有升级Form个性化相关的补丁,请检查你的系统是否已经升级了相应的补丁,Form个性化支持LOV个性化是: 11i.ATG_PF.H RUP3[PATCH 4334965]之后,只要检查系统中是否已经打了PATCH 4334965就可以确定.
具体个性化LOV步骤可参考Metalink Doc ID: 726320.1
老枪 said on 五月 15, 2009
老师,Create Record Group from Query这个触发起在11.5.10.2环境下么有找到阿