Form中动态创建PopList

本文介绍如何在OracleEBS中通过RecordGroup实现下拉列表的动态加载。包括定义RecordGroup、设置LIST及触发器代码等步骤,确保下拉列表能够根据实际需求动态更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Oracle EBS二次开发中经常会使用下拉列表,下拉列表一般是写死的,实际上也是可以使用Record Group进行动态设置,实现的步骤如下:

 

 

1,首先定义一个Record Group

假设为TEST_REC_GP,SQL如下:

[c-sharp] view plain copy print ?
  1. SELECT cr.general_name   lookup_code,  
  2.        cr.medicament_category value  
  3.   FROM cux_catalog_53_rules cr   

SELECT cr.general_name lookup_code, cr.medicament_category value FROM cux_catalog_53_rules cr

 

 

必须注意一点,SQL必须是两列,并且类型都是VARCHAR2,第一列作为显示的列,第二列作为后台的值。如果列和值都一样,那么就用别名查询两次就好了,类似

 

2,LIST的设置

然后需要注意一点,需要关联Record Group的下拉列表中,其中至少一个值必须是和检索出来的值是一样的,上例的SQL查询结果如下

clip_image002[4]

那么下拉列表中至少有一条和查询结果一样

clip_image002

 

3,触发器代码

在List所在的块的WHEN-NEW-BLOCK-INSTANCE触发器中,写如下代码

[c-sharp] view plain copy print ?
  1. Declare  
  2.   i number;  
  3. begin  
  4.   i := populate_group('TEST_REC_GP');  
  5.   if i = 0 then  
  6.     clear_list('CATALOG_RULES.RULE_TYPES');     
  7.     populate_list('CATALOG_RULES.RULE_TYPES','TEST_REC_GP');  
  8.   end if;   
  9. end;   

转载于:https://www.cnblogs.com/liuweicong39/archive/2012/11/15/2771223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值