Ограничьте количество форм / отчетов, которые пользователи могут генерировать с помощью отчетов Oracle.
Есть ли способ ограничить количество отчетов, которые могут генерировать пользователи? Недавно у нас был случай, когда несколько пользователей сгенерировали около 100 отчетов, каждый из которых забросил систему.
Forms / Reports версия 11.1.1.2.0
Спасибо
1 ответ
Я не знаю, есть ли системный способ сделать это, но - как разработчик, вы могли бы:
- создать таблицу, в которой хранится информация о выполняемых отчетах. Он будет содержать столбцы, такие как (пользователь, дата, имя отчета, ...)
- вставить строку в эту таблицу в триггере After Parameter Form отчетов
- удалить строку из нее после завершения отчета в триггере After Report
- написать функцию, которая возвращает количество отчетов, запущенных в данный момент для конкретного пользователя
- вызовите его в триггере "Перед отчетом" и - если он превысит установленный вами лимит (не жестко его кодируйте - сохраните его значение в некоторой таблице), затем остановите выполнение отчета и сообщите пользователю (для этого используйте встроенные процедуры SRW)
Да, это означает, что вы должны отредактировать все имеющиеся у вас отчеты (RDF), чтобы реализовать эти изменения.