Oracle Forms 6i Хотите ли вы сохранить сообщение об изменениях

У меня есть форма, которая содержит несколько блоков данных, все поля привязываются к базе данных, устанавливая их свойства на имя столбца базы данных. Все элементы каждого блока отображаются на одном холсте.

Элементы в форме содержат личные данные, однако такая информация, как номера телефонов и адреса клиентов, хранится в отдельных таблицах на сопоставлении «один ко многим» и связана с номером клиента, при этом учитывается, что у клиента может быть много телефонных номеров и много адреса.

Самая большая проблема здесь заключается в том, что когда пользователь находится в режиме запроса и вводит информацию о каждом блоке, когда он пытается покинуть блок, он получает сообщение с вопросом «Хотите ли вы сохранить изменения?». Это происходит для каждого блока. Таким образом, это сообщение появляется несколько раз.

Чего я пытаюсь добиться, так это того, что это сообщение должно быть подавлено, поэтому пользователя спрашивают об этом только один раз. Я знаю, что как только пользователь ответит «да», я могу сделать do_commit для каждого блока, чтобы сохранить изменения. Однако я не могу контролировать это сообщение, и я хотел бы знать, как лучше всего структурировать приложение, чтобы избежать этого.


person devdar    schedule 29.01.2013    source источник
comment
Попробуйте добавить триггер KEY-EXIT с условием exit_form(no_validate);   -  person DARK_A    schedule 05.02.2013
comment
но я не хочу выходить из приложения я хочу продолжить ввод данных   -  person devdar    schedule 05.02.2013


Ответы (1)


Добавьте в триггер, где вы выполняете_запрос или делаете что-то подобное.

:SYSTEM.MESSAGE_LEVEL := '25';
COMMIT;
:SYSTEM.MESSAGE_LEVEL := '0';

Это подавляет системные сообщения. Вы не написали, какой триггер вы используете при выходе из блока.

person DARK_A    schedule 06.02.2013