Workflow. Бизнес-объекты и события
Workflow. Бизнес-объекты и события в SAP Workflow
Попробую создать небольшой цикл заметок про потоки операций и их применение. Так как в одной/двух/трех заметках это сделать, мне не представляется возможным, буду рассматривать процесс работы с workflow по частям. Надеюсь, что последовательность в излагаемом материале прослеживаться будет.
Потоки операций часто применяются для согласования документов/заявок, либо же просто для рассылки уведомлений определенным пользователям, или же группам пользователей. Если рассматривать применение workflow в разрезе области HCM, то стоит упомянуть Performance management, E-Recruiting, LSO. Использование workflow необходимо для автоматизации каких-либо функций в рамках бизнес-процессов компании. В один поток операций может быть включено определенное количество участников, которые, согласно их бизнес-роли, будут выполнять какое-нибудь действие (согласовывать заявку, вносить изменения et cetera)
Для каждого потока операций должно быть определено инициирующее событие. Например, сформированная заявка на подбор, изменение основных данных сотрудника. Отследить это самое событие в системе возможно с использованием класса или бизнес-объекта. Для связи инициирующего события с потоком операций, используется транзакция SWETYPV

Бизнес-объект с точки зрения системы представляет собой набор атрибутов, методов и событий для определенной области (например, HCM, FI, PM). Посмотреть список доступных бизнес-объектов можно с помощью транзакции SWO1

Рассмотрим ситуацию, в которой функциональному консультанту необходимо настроить поток операций, относящийся к области Performance Management. В качестве инициирующего события для старта потока операций консультант решил использовать событие бизнес-объекта APPR_DOC. Допускаем, что, ознакомившись со списком стандартных событий, консультант принимает решение о том, что требуемого события в стандартном бизнес-объекте нет. Задача: создать новый бизнес-объект, указав в качестве «родительского» — стандартный, и в новом бизнес объекте создать требуемое событие.

1. Создание нового бизнес-объекта
Открываем транзакцию SWO1, вводим наименование нового бизнес-объекта и нажимаем на кнопку Создать

В данной заметке в качестве имени бизнес объекта будет использоваться значение ZAPPR_DOC. В открывшемся окне создания нового бизнес-объекта необходимо внести данные, по аналогии с теми, что указаны на Рисунке №5

Обратите внимание на поле Супертип. В качестве значения для данного поля необходимо указать наименование стандартного бизнес-объекта, на основании которого в новый бизнес-объект будут скопированы существующие события, методы, атрибуты. В нашем случае, наименование стандартного бизнес-объекта APPR_DOC

Сравните, что получилось, в результате выполнения данной операции. На рисунке ниже представлен вновь созданный бизнес-объект (слева), и стандартный (справа)

2. Настройка делегирования
Для вновь созданного бизнес-объекта ZAPPR_DOC необходимо настроить делегирование от стандартного APPR_DOC. Для этого, находясь в транзакции SWO1, выберите в меню Параметры настройки -> Делегирование, и создайте новую запись

3. Создание нового события
Откройте созданный бизнес-объект в режиме изменения, и, установив курсор на поле События, нажмите на кнопку Создать

В открывшемся окне введите необходимые данные:

Новое событие должно появиться в списке

4. Изменение статуса созданного события и бизнес-объекта
Установите курсор на созданное событие, и выберите в меню Изменить статус деблокирования -> Компонент типа объекта -> Во внедрении

В результате успешного выполнения данной операции появится сообщение вида:
Затем установите курсор на тип объекта и выберите в меню Изменить статус деблокирования -> Тип объекта -> Во внедрении

В результате успешного выполнения данной операции появится сообщение вида:
5. Тестирование
Чтобы провести полноценное тестирование, нам понадобится поток операций, и созданная связь между новым событием бизнес-объекта и потоком. Так как на данном этапе поток операций отсутствует, попробуем в транзакции SWETYPV создать запись для бизнес-объекта APPR_DOC и посмотрим, будет ли доступно только что созданное событие:

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