Гость
Map
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Сохранить начальное значение поля после POST-a / 2 сообщений из 2, страница 1 из 1
27.04.2019, 22:41
    #39807230
jrqq4-h7h2v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить начальное значение поля после POST-a
Доброго времени!

Есть приложение на Oracle forms. В приложении форма "Детали заказа", с меню. По клику на пункте меню, в новой сессии запускается отчет BI-publisher по выбранному заказу.

На форме есть поле "Дата". Проблема в том, что, так как отчет запускается в новой сессии, то, пока пользователь не нажмет ОК - изменения, сделанные в форме не закоммитятся, и отчет будет строиться по старой дате.

Чтобы обработать эту ситуацию решено, при запуске отчета, проверять изменилась ли данные в поле "Дата" и выводить предупреждение. Пробовал реализовать следующими способами:
1. В WHEN-WINDOW-ACTIVATED записывать начальное значение даты в глобальную переменную и при запуске отчета сравнивать с текущим значением, выдавать предупреждение, если дата изменилась
2. Проверять :sysem.record_status, если он не равен 'QUERY' - выводить сообщение

Все работает, НО!!!! На форме есть кнопка "Применить", по нажатию выполняется POST, после чего :sysem.record_status снова становится равным 'QUERY', а значение глобальной переменной равным NULL. Получается, что изменения в другой сессии ЕЩЕ не видны, а в этой сессии УЖЕ не видны )))

Вопрос - как сохранить начальные значения поля или статус записи в форме, после выполнения команды POST? Если решение в принципе не верно и есть другие способы решить данную задачу - буду рад совету.
...
Рейтинг: 0 / 0
29.04.2019, 15:21
    #39807663
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить начальное значение поля после POST-a
1.
Не знаю )))
2.
Не очень понимаю Вашу проблему. Если это Ваша собственная форма, то Вы и так должны знать, когда выдавался POST, когда COMMIT. Выглядит так, что форма/задача поставлена крайне криво и проблема не техническая, а исключительно организационная.
3.
Можно попытаться определять средствами сервера. В главном подфоруме знатоков собственно Oracle Database полно, возможно смогут что-то посоветовать.
IMHO & AFAIK Если был POST, то транзакция на сервере должна быть активна (должны были быть выполнены insert'ы,update'ы,delete'ы), т.е. можно попытаться проверить на уровне сервера, а не Forms'ов. Беглый поиск по Инет выдал ссылку:

https://stackoverflow.com/questions/1299694/oracle-how-to-find-out-if-there-is-a-transaction-pending
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Сохранить начальное значение поля после POST-a / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]