Workflow. Использование функций BRF+ в задаче потока операций
Workflow. Использование функций BRF+ в задаче потока операций
Какое-то время назад я представлял небольшую заметку про фреймворк Business Rule Framework (aka BRF+), который позволяет работать с так называемыми бизнес-правилами в системе SAP.
См. заметку Small SAP Talk. SAP Business Rule Framework plus
Было занятно узнать про возможность применения функций из созданных бизнес-правил в задачах потоков операций. Что я имею в виду?
Пример функции в BRF+ приложении
Для демонстрации в этой заметке я создал небольшую функцию в BRF+ приложении, в которой выполняется заполнение результирующего параметра двумя строковыми константами STOP или CONTINUE, в зависимости от значения входного параметра. На следующем видеофрагменте представлен пример работы такой функции:
Теперь про задачи в потоке
Представим, что созданная BRF+ функция выполняет что-то очень важное, и ее применение в потоке однозначно поможет принять решение о возможном его ходе выполнения. То есть, в зависимости от значения возвращаемого параметра BRF+ функции, я должен буду определить, как будет вести себя запущенный поток операций.
Для добавления BRF+ функции в задачу потока необходимо выбрать соответствующий пункт в контекстном меню (по факту добавления задачи в сам поток)
Стоит обратить внимание на наличие в создаваемом потоке операций соответствующих элементов контейнера, которые в дальнейшем будут использованы системой для выполнения binding'а.
На следующем видеофрагменте представлена последовательность действий, в результате которой:
- Создается новый поток операций
- В созданном потоке определяются нужные элементы контейнера
- Добавляется новая задача, содержащая BRF+ функцию
- Добавляется условие, предназначенное для отслеживания результатов работы BRF+ функции в потоке
N.B. Пожалуйста, обратите свое внимание на то, что идентификатор BRF+ функции, добавляемой в задачу потока операций, можно скопировать посредством открытия этой же функции в транзакции BRF+.
Тестирование
Пробую посмотреть, что в итоге получилось. Самый главной вопрос — это наполнение элементов контейнера потока значениями, передающимися в результате работы BRF+ функции.
N.B. Пожалуйста, обратите внимание на то, что при добавлении в задачу потока BRF+ функции, в системе автоматически формируется класс, который приводит в действие механизм преднастроенной BRF+ функции.
С вами по-прежнему приятно иметь дело! Обнимаю.