Создание триггеров входа и выхода из формы

Триггер, который вызывается при открытии формы – WHEN-NEW-FORM-INSTANCE. В нашей форме необходимо, чтобы при загрузке сразу выполнялись запросы в блоках данных, чтобы можно было видеть, какие данные уже внесены в таблицы.

Код триггера WHEN-NEW-FORM-INSTANCE:

 

:System.Message_Level:= '5'; Go_Block('DOVER'); Execute_Query; Go_Block('DOVER_SP'); Execute_Query; Go_Block('DOVER');

 

При закрытии окна формы выполянется триггер WHEN-WINDOW-CLOSED. Если в форме есть несохраненные данные, то нужно предложить пользователю их сохранить. Для этих целей необходимо использовать сообщение - Alert.

Чтобы создать Alert, необходимо в окне Object Navigator выделить узел Alerts и выбрать пункт меню Edit->Create.

Для нового сообщения Alert установим следующие свойства:

– Name: SAVE_ALERT

– Title: Сообщение

– Message: Вы хотите сохранить сделанные Вами изменения?

– Button 1 Label: Да

– Button 2 Label: Нет

– Button 3 Label: Отмена

– Default Alert Button: Button 3

Теперь создадим триггер формы с WHEN-WINDOW-CLOSED следующим кодом:

 

DECLARE     but NUMBER;     stat1 VARCHAR2(14);     stat2 VARCHAR2(14); BEGIN     Go_Block('DOVER');     stat1:=:System.Block_Status;     Go_Block('DOVER_SP');     stat2:=:System.Block_Status;     if stat1 <> 'QUERY' OR stat2 <> 'QUERY' THEN               but:= Show_Alert('SAVE_ALERT');                                  if but = ALERT_BUTTON3 then -- Нажали "Отмена"                        return;               end if;               if but = ALERT_BUTTON1 then -- Нажали "Да"                        Save_Form;               end if;     end if;     Exit_Form(NO_VALIDATE); END;

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: