FORM中对LIST类型的ITEM用值集动态赋值

在做FORM的时候,定义一个LIST ITEM,我们可以在



定义其默认值,这适用于一些取值比较固定的ITEM,例如对应的列表项值是“Y”和“N”。但很多时候一些基于快速编码的取值是会改变的,不可能每次后台改数据了就在FORM里改,这时候我们就需要动态把数据从快速编码里取出来再插入到LIST里面去。步骤如下:
定义一个函数,import_list,声明游标与参数
 

CURSOR csr_method IS
	 SELECT flv.lookup_code,
		   flv.meaning
	FROM fnd_lookup_values_vl flv
	WHERE flv.lookup_type = 'HEL_INST_PLAN_STATUS'
ORDER BY flv.lookup_code DESC;
l_index NUMBER := 1;
 

 
Lookup_type 里的值“HEL_INST_PLAN_STATUS”是欲插入的快速编码名称,然后调用内置函数,循环插入列表每一项
 

clear_list('PERSON_TASKS.PLAN_STATUS'); --数据项
   
  FOR l_rec IN csr_method
   LOOP
     BEGIN
       add_list_element('PERSON_TASKS.PLAN_STATUS',
                        l_index,
                        l_rec.meaning,
                        l_rec.lookup_code); 
      l_index := l_index + 1;
     EXCEPTION
       WHEN OTHERS THEN
         NULL;
     END;
 END LOOP;    

 
在触发器WHEN-NEW-FORM-INSTANCE里调用import_list。

 

你可能感兴趣的:(list)