在做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。