Фоновые задания используя ABAP Objects (Часть 2)

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

Задания с несколькими шагами

Прежнее API для создания фоновых задач позволяло создавать их с несколькими шагами. Делалось это с помощью функциональных модулей: JOB_OPEN — создание задачи,  JOB_SUBMIT — планирование шага в задаче. В новом API на классах это реализовано, но довольно странно.

Для создания задачи с несколькими шагами был реализован метод в абстрактном классе:  CL_BP_JOB, метод:   GENERATE_JOB_COUNT. Обратиться к нему можно только через интерфейс. Для создания шага в CL_BP_ABAP_JOB создан метод  PLAN_JOB_STEP( ), но по непонятной причине алиас к нему не прописан, в итоге приходится обращаться так же через интерфейс.

В итоге пример создания задания с несколькими шагами получился таким:

Повторяющиеся задания

Повторяющиеся задания или задания с определенной периодичностью создаются с использованием класса: cl_bp_periodic_job

Периоды выполнения задаются с помощью класса: cl_bp_job_periodicity. Для задачи необходимо определить шаблон шага, шаблоны могут быть 3х видов. Создание класса шаблона выполняется с помощью статических методов класса cl_bp_job_factory. Далее пример кода запускающего задачу и определяющего ее периодичность:

Обратите внимание что обработка исключений опущена специально, чтобы не увеличивать размер кода.

1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *