Я новичок в Developer2000.У меня есть процедура Oracle pl / sql (скажем, proc_submit_request), которая выбирает тысячи запросов и отправляет их в планировщик dbms_job.Вызов dbms_job
кодируется внутри цикла для каждого извлекаемого запроса.
В настоящее время у меня есть кнопка (скажем, кнопка SUBMIT) на экране оракула, которая вызывает proc_submit_request.Проблема здесь в том, что ... элемент управления не возвращается к моему экрану, пока ВСЕ выбранные запросы не будут отправлены в dbms_job (это занимает часы). Экран отключается, и до завершения процедуры появляются только песочные часы.proc_submit_request.proc_submit_appears возвращает на экран сообщение о том, что «XXXX запросов отправлено».
Теперь мое требование заключается в том, чтобы, как только пользователь нажал кнопку SUBMIT, экран больше не становился серым.Пользователь должен иметь возможность переходить на другие экраны, а не просто попадать на экран отправки до завершения вызванной процедуры.
Я предложил запустить слушатели (сценарии оболочки и Perl), которые могут прослушивать любые сообщения в конвейере.и запускать запросы как фоновый процесс.Но пользователь просит, чтобы я исправил проблему в приложении, а не слушатели.
Я слышал немного о встроенном OPEN_FORM.Предположим, у меня есть две формы, а именно Форма-1 и Форма-2.Form-1 вызывает Form-2, используя OPEN_FORM.Теперь возможны ли следующие вещи с использованием OPEN_FORM?
При вызове open_form ('Form-2', OTHER-ARGUMENTS ...) управление должно быть в Form-1 (то есть пользователь долженне знаю, что открывается другая форма) и Form-2 должна вызвать proc_submit_request.
Пользователь должен иметь возможность переходить на другие экраны в приложении.Но Форма-2 должна работать до тех пор, пока не будет завершена proc_submit_procedure.
Что произойдет, если пользователь закроет (выйдет) из Формы-1?Будет ли Форма-2 еще работать?
Пожалуйста, дайте мне ответы или предложите хорошее решение.