Управление запуском процесса SAP Processes and Forms.

Продолжаю, по возможности, раскрывать тему функциональности SAP Processes and Forms. Некоторое время назад столкнулся с задачей ограничения запуска процесса пользователем через Web Dynpro приложение ASR_PROCESS_EXECUTE_FPM. Как оказалось, SAP предоставляет возможность определять и проверять какие-либо условия перед запуском процесса. Возможность эта представляет собой BAdI HRASR00PROCESS_START_RESTRICT.

Далее я рассмотрю самый простой пример того, как эта конструкция может работать. А именно: создам внедрение вышеуказанной(ого) BAdI, с помощью которого будет запрещен запуск какого-либо процесса.

Создание Enchancement Implemenation & Внедрения BAdI HRASR00PROCESS_START_RESTRICT

Ниже представлено видео, на котором представлен процесс создания Enchancement Implemenation и внедрения BAdI HRASR00PROCESS_START_RESTRICT

Определение процесса, который будет запрещен к запуску

Теперь необходимо определить идентификатор процесса, который будет запрещен к запуску, и выполнить само ограничение, используя ABAP. Небольшой видеоряд, демонстрирующий это

Что было сделано? Для нового внедрения BAdI я определил фильтр на основании идентификатора процесса, запуск которого хочу ограничить.

Идентификатор этот можно посмотреть с помощью транзакции HRASR_DT

Затем, в методе CHECK_PROCESS_IS_EXECUTABLE, я запретил возможность запуска процесса, присвоив параметру IS_PROCESS_EXECUTABLE значение abap_false.

Не забывайте активировать объекты, после того, как было выполнено какое-либо изменение.

Тестирование

К тестированию все готово.

Как видите, процесс не может быть запущен, вследствие установленного запрета. Безусловно, представленный вариант реализации не является "красивым", и использовать его можно только в крайних случаях. Хотя понятие "красивости" у каждого свое, и настаивать ни в коем случае не буду. Удачи!