Adding Value To Combo List at Runtime in Oracle Forms

You want to add a value in Combo List item in Oracle Forms, by typing it in combo list box text area. Here is the example is given for the same, you can write following block in When-Validate-Item trigger for the combo box item:

Write the following code in When-Validate-Trigger of combo box:

DECLARE
   total_list_count      Number (10);
   loop_index_var        Number (10)                  := 1;
   list_element          Varchar2 (50);
   list_element_value    Varchar2 (50);
   list_element_to_add   Varchar2 (50);
   list_value_to_add     Varchar2 (50);
   element_match         Varchar2 (5)                 := 'FALSE';
   value_match           Varchar2 (5)                 := 'TRUE';
   list_id               item                         := Find_item ('YOURBLOCK.COMBOLIST1');
BEGIN
   total_list_count := Get_list_element_count (list_id);
   List_element_to_add := :YOURBLOCK.COMBOLIST1;

   For I In 1 .. TOTAL_LIST_COUNT
   LOOP
      list_element := Get_list_element_value (list_id, loop_index_var);
      loop_index_var := loop_index_var + 1;

      IF list_element_to_add = list_element
      Then
         element_match := 'TRUE';
      END IF;

      EXIT When list_element = list_element_to_add;
   END LOOP;

   list_value_to_add := list_element_to_add;

   IF element_match = 'FALSE'
   Then
      Add_list_element (list_id, total_list_count + 1, list_element_to_add, list_value_to_add);
   END IF;

--- element added...

EXCEPTION
   When form_trigger_failure
   Then
      RAISE;
   When Others
   Then
      Message (SQLERRM);
END;

 
posted @ 2016-12-25 18:44  全威儒  阅读(198)  评论(0编辑  收藏  举报