Как автоматически увеличивать число на кнопке SET_ITEM_PROPERTY

У меня есть кнопка под названием «ЗАГРУЗИТЬ» в Oracle Forms. При нажатии кнопки «ЗАГРУЗИТЬ» запускаются 2 процесса.

Процесс 1:

-- Загружать данные из файла Excel в формы Oracle

-- Сохранение данных из форм Oracle в таблицу базы данных

-- Показать повторяющиеся записи в блоке данных

-- Название кнопки будет изменено с помощью UPLOAD[1]

Если снова нажать кнопку «ЗАГРУЗИТЬ», то будет запущен процесс 2.

Процесс 2:

-- Загружать данные из файла Excel в формы Oracle

-- Сохранение данных из форм Oracle в таблицу базы данных

-- Название кнопки будет изменено с помощью UPLOAD[2]

Теперь я хочу, когда снова нажмите кнопку «ЗАГРУЗИТЬ», затем произойдет автоматическое увеличение номера. Например, UPLOAD[3] и так далее.

Код кнопки "ЗАГРУЗИТЬ":

IF ( :WE_GROUP.FILE IS NOT NULL ) AND :WE_GROUP.DISPLAY IS NOT NULL THEN
 EXCEL_UPLOAD;
 commit;
 Set_Item_Property('Upload',label,'Upload'||' ['||2||']');
 :WE_GROUP.FILE := NULL;

ELSIF ( :WE_GROUP.FILE IS NOT NULL ) AND :WE_GROUP.DISPLAY IS NULL THEN
 EXCEL_UPLOAD;
 commit;
 Set_Item_Property('Upload',label,'Upload'||' ['||1||']');
 :WE_GROUP.DISPLAY := 1;
 :WE_GROUP.FILE := NULL;

go_block('we_group_hof_k');
CLEAR_BLOCK(NO_VALIDATE);

go_block('we_group_hof_k');
 first_record;
  for c in
      (
       SELECT cnicno, hofid
         FROM hof 
        WHERE cnicno IN (SELECT cnic_no FROM we_group_hof_k)
      )     
  loop
:we_group_hof_k.CNIC_NO := c.cnicno;
:we_group_hof_k.GROUP_HOF_ID := c.hofid;
 next_record;
  end loop;

ELSE
    Message('No File selected.');
    message(' ');
    RAISE Form_Trigger_Failure;

END IF;

person Ramiz Tariq    schedule 25.04.2019    source источник


Ответы (1)


Просто объявите локальную целочисленную переменную как

declare
   v_label  pls_integer
begin

и назначьте значение с приращением, начиная с целочисленного значения, отображаемого на кнопке «Загрузить».

v_label := regexp_replace(Get_Item_Property('Upload',label),'(\D)')+1 

а затем заменить

Set_Item_Property('Upload',label,'Upload'||' ['||2||']');

с участием

Set_Item_Property('Upload',label,'Upload ['||v_label||']');
person Barbaros Özhan    schedule 25.04.2019