here is my sample code.....please check what is wrong in this code why clear_list not clear the list before updating the list for second selection from drop-down....
DECLARE
CURSOR CUR_FURNACE_CAT_TYPE(F_TYPE IN CHAR) IS
SELECT FURNACE_TYPE,CAT_TYPE_DESC,CAT_TYPE_ID
from PRC_FURNACE_CAT_TYPE
WHERE FURNACE_TYPE=F_TYPE
order by CAT_TYPE_ID;
V_CNT NUMBER := 1;
BEGIN
CLEAR_LIST('PRC_HT_FURNACE.CATEGORY');
IF :PRC_HT_FURNACE.FURNACE_TYPE='04' THEN
FOR LP IN CUR_FURNACE_CAT_TYPE('04') LOOP
ADD_LIST_ELEMENT('PRC_HT_FURNACE.CATEGORY', V_CNT, LP.CAT_TYPE_DESC,LP.CAT_TYPE_ID);
V_CNT := V_CNT + 1;
END LOOP;
ELSIF :PRC_HT_FURNACE.FURNACE_TYPE='05' THEN
FOR LP IN CUR_FURNACE_CAT_TYPE('05') LOOP
ADD_LIST_ELEMENT('PRC_HT_FURNACE.CATEGORY', V_CNT, LP.CAT_TYPE_DESC,LP.CAT_TYPE_ID);
V_CNT := V_CNT + 1;
END LOOP;
ELSIF :PRC_HT_FURNACE.FURNACE_TYPE='06' THEN
FOR LP IN CUR_FURNACE_CAT_TYPE('06') LOOP
ADD_LIST_ELEMENT('PRC_HT_FURNACE.CATEGORY', V_CNT, LP.CAT_TYPE_DESC,LP.CAT_TYPE_ID);
V_CNT := V_CNT + 1;
END LOOP;
END IF;
END;