使用Form个性化修改标准Form的LOV

九月 23, 2008 in Oracle EBS二次开发

在之前的文章 使用Custom.pll修改标准Form的LOV 中描述了如何使用Custom.pll修改LOV,现在介绍另外一种不需要修改fmb文件修改Form LOV的方法,使用Form的个性化工具。

本文结合一个简单的Form做描述,这是没有个性化之前的LOV,LOV取自表FND_USER,没有做任何条件限制。

Old_LOV

 

首先打开Form的个性化工具,点击菜单帮助–诊断–自定义代码–个性化:

Form_Personalization

 

一、选择触发器事件以及触发器对象

 

在打开的个性化窗口中

如下图,其中触发器选择WHEN-NEW-ITEM-INSTANCE,触发器对象选择HEADER.HEADER_ITEM(对应LOV的Item),保存:

Form_Personalization_Condition

 

二、确定触发器动作

    1.创建LOV的Record Group

       切换活动标签页,首先创建Record Group,为了简单起见,写死了一个查询条件,只出来两条记录:

 Form_Personalization_Action1

      

    2.修改LOV的Group Name属性

       在值对应那一栏填上之前创建的Record Group的名字:

Form_Personalization_Action2

 

最后保存退出,重新打开Form,就能看到效果了

New_LOV

 

三、总结

 

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来达到我们所期望的效果。

相关文章:

  1. 使用Custom.pll修改标准Form的LOV

4 responses to 使用Form个性化修改标准Form的LOV

  1. 能不能在做这不得同时,限定这个LOV是验证的,刚好遇到这样一个问题,FORM是标准化的。

  2. 谢谢老师,补丁没有安装,已联系相关人员安装补丁了

  3. 应该是由于你的系统没有升级Form个性化相关的补丁,请检查你的系统是否已经升级了相应的补丁,Form个性化支持LOV个性化是: 11i.ATG_PF.H RUP3[PATCH 4334965]之后,只要检查系统中是否已经打了PATCH 4334965就可以确定.

    具体个性化LOV步骤可参考Metalink Doc ID: 726320.1

  4. 老师,Create Record Group from Query这个触发起在11.5.10.2环境下么有找到阿

Leave a reply

You must be logged in to post a comment.