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+ функции.

С вами по-прежнему приятно иметь дело! Обнимаю.

Read more