动态插入列表数据

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

你可能感兴趣的:(ERP)