Поток операций и SAP Fiori*

Анил Бавараджу

Наиболее общие модификации в приложениях SAP Fiori коснулись потока операций. Поэтому в данном материале представлен обзор потока бизнес-операций SAP с пояснениями о том, как и когда требуется создавать пользовательский поток операций, с пошаговым описанием примера на основе приложения «Моя входящая почта».

Поток операций представляет собой отлаженный и воспроизводимый шаблон бизнес-операций. Он может представлять собой последовательность операций, назначаться в качестве рабочего процесса сотрудника или группы сотрудников, демонстрировать структуру штата, а также являться одним или несколькими простыми или сложными механизмами.
Эта статья начинается с вводных сведений о потоке операций и описания базовой терминологии, используемой при обработке потока операций, см. раздел 1. В разделе 2 мы рассмотрим структуру приложения «Моя входящая почта» и узнаем, как с его помощью можно упростить обработку задач потока операций для пользователей.
В разделе 2.1 указаны предпосылки, которые должны быть выполнены перед внедрением потоков операций и приложения «Моя входящая почта». Процедура внедрения плитки входящей почты «Все элементы» рассматривается в разделе 2.2. Завершается статья разделом 2.3, в котором представлены пошаговые инструкции по определению сценария потока операций и внедрению специфичной для сценария входящей почты.

* Оригинал (англ.): SAP Fiori Implementation and Development. Анил Бавараджу. Издательство SAP PRESS. Глава 12. 2017, с. 491-523.

Корректура: Олег Башкатов.​

1. Базовые принципы потока операций

Как следует уже из названия, поток операций представляет собой поток последовательно выполняемых рабочих операций, в результате которых происходит обмен информацией. Для более глубокого понимания сути потока операций рассмотрим простой пример с заявлением на отпуск. Сотрудник подаёт менеджеру заявление на отпуск, которое менеджер проверяет. Если все корректно, он утверждает это заявление, но если в заявлении обнаружится ошибка, менеджер отклонит его. Если этот процесс происходит в рамках традиционного потока операций на основе бумажных документов, он может длиться вечность. SAP Business Workflow упрощает выполнение таких сценариев.

SAP Business Workflow представляет собой общий для всех приложений инструмент, который автоматизирует бизнес-процессы (например, процедуру утверждения отпусков), делая их простыми и быстрыми. SAP Business Workflow выполняет мэппинг бизнес-процессов в системе SAP и обрабатывает их в системе потоков операций. Такие потоки операций могут представлять собой что угодно — от простого процесса утверждения до комплексных бизнес-процессов. Как правило, SAP Business Workflow целесообразно использовать в ситуациях, когда требуется выполнять рабочие процессы периодически либо в случае участия в определенной последовательности из нескольких агентов.

При создании, обновлении или удалении документа SAP Business Workflow создаёт события. Эти события представляют действие в системе и фиксируются SAP Business Workflow, который обрабатывает элементы потока операций по определенным шаблонам.

Вернёмся к примеру с заявлением на отпуск. Когда сотрудник подаёт заявление, менеджер получает уведомление/запрос и может утвердить или отклонить его. Эти запросы попадают во входящую почту менеджера в виде элементов потока операций. Сотрудник, выполняющий элемент потока операций, называется агентом. Если менеджер запрашивает дополнительную информацию, элемент потока операций отправляется во входящую почту сотрудника.

В настоящее время предприятия в различных отраслях используют в своих ландшафтах множество механизмов обработки потоков операций для выполнения бизнес-процессов. Помимо этого, для отслеживания ежедневных операций они применяют различные напоминающие входящую почту порталы или универсальные рабочие списки (Universal Work Lists, UWLs). Самой сложной задачей для конечных пользователей является применение нескольких источников для элементов потока операций, поскольку здесь необходимо учиться взаимодействовать с различными технологиями управления задачами. Противоречивые механизмы взаимодействия с пользователем на разных устройствах снижают качество выполнения ежедневных операций. С точки зрения ИТ наибольшие трудности вызывают настройка и конфигурирование гетерогенных механизмов обработки потоков операций, а также обеспечение доступа к потокам операций с мобильных устройств.

Клиенты хотят получить единообразный ящик входящих сообщений, к которому смогут легко обращаться все бизнес-пользователи для управления всеми элементами потоков операций с унифицированным UX для всех устройств. Это позволит снизить сложность среды и повысить производительность конечных пользователей. Решением, выполняющим все эти требования по потокам операций, является приложение SAP Fiori «Моя входящая почта» (My Inbox).

В следующем разделе описана процедура создания стандартных и пользовательских потоков с помощью приложения SAP Fiori «Моя входящая почта».

2. Создание стандартных и пользовательских потоков операций с помощью приложения «Моя входящая почта»

Приложение «Моя входящая почта» —полнофункциональная входящая почта для потоков операций в SAP Fiori. Это транзакционное приложение позволяет обрабатывать задачи потока операций на основе вариантов принятия решений, определенных на бэкэнд-сервере. Приложение «Моя входящая почта» позволяет обрабатывать задачи из SAP Business Workflow, SAP Business Process Management (BPM) и от сторонних провайдеров.

Ключевые особенности приложения «Моя входящая почта»:
Пользователи могут сортировать и фильтровать отображаемую в приложении информацию.
Пользователи могут выбирать несколько запросов и утверждать или отклонять их одновременно.
Пользователи могут добавлять вложения и публиковать комментарии.
Пользователи могут предоставлять доступ к своим задачам через SAP Jam или по электронной почте.
На рис. 1 представлен общий системный ландшафт приложения «Моя входящая почта». Это приложение, как и другие транзакционные приложения SAP Fiori, выполняется на SAP Gateway, но ключевым компонентом приложения является специальный сервис, который называется шлюзом задач, на сервере SAP Gateway. Этот компонент гармонизирует ракурсы от разных провайдеров задач (SAP BPM, SAP Business Workflow или сторонних механизмов обработки потоков операций). Информация задачи предоставляется от различных провайдеров задач в стандартном формате, который называется моделью потребления задач. В эту модель можно добавить дополнительных провайдеров задач через специальный API.

Рисунок 1

Рис. 1. Архитектура приложения «Моя входящая почта»

SAP предоставляет готовую интеграцию с провайдерами услуг SAP HANA Workflow, SAP Business Workflow и SAP BPM. Также поддерживаются сторонние механизмы потоков операций.

В следующих разделах описаны предпосылки использования приложения «Моя входящая почта», процедура создания стандартных потоков операций с помощью плитки «Все элементы», поставляемой SAP, а также способы создания пользовательских потоков операций для входящей почты, специфичной для сценария.

2.1. Предварительные требования

Перед внедрением приложения «Моя входящая почта» необходимо выполнить ряд предварительных требований:

Если в качестве фронтэнд-сервера используется SAP NetWeaver 7.4, вам потребуются следующие компоненты (см. рис. 2):
Компонент для приложения: UIX01CA1 100 SP 05.
Компонент SAP Gateway: IW_PGW 100 SP 07.

Если версия фронтэнд-сервера ниже SAP NetWeaver 7.4, то, помимо UIX01CA1 и IW_PGW, вам потребуются следующие компоненты:
SAP Gateway 2.0 SPS 10.
Add-On 1.0 для интерфейса пользователя SAP NetWeaver 7.03 SPS 10 или выше (UI5 1.26.0).

На бэкэнд-сервере должна быть установлена система SAP EHP 1 для SAP NetWeaver 7.3 SPS 15 (для поддержки SAP BPM).

Если на бэкэнд-сервере установлена версия SAP NetWeaver ниже 7.4, необходимо дополнительно установить там компонент SAP IW BEP 200 SP 10 Gateway.

Рисунок 2

Рис. 2. Компоненты фронтэнда

Перед внедрением приложения «Моя входящая почта» установите или обновите все необходимые компоненты.

Информация о версии приложения «Моя входящая почта»: Информацию о версии приложения «Моя входящая почта» см. в SAP-ноте 2106212.

Помимо установки этих компонентов, также необходимо определить псевдоним системы для приложения «Моя входящая почта». Выполните следующие шаги:

1. Выполните транзакцию SPRO.

2. Перейдите на экран «Управление псевдонимами системы SAP», см. рис. 3.

Рисунок 3

Рис. 3. Управление псевдонимами систем SAP

3. Нажмите Новые записи, чтобы создать новый псевдоним системы, а затем введите или укажите следующие подробные данные (см. рис. 4):

Псевдоним системы SAP: введите LOCAL_PGW.
Описание: введите LOCAL_PGW.
Локальный SAP GW: удалите этот индикатор.
Для локального приложения: установите этот индикатор.
RFC-адрес: оставьте незаполненным.
Версия программного обеспечения: введите/IWPGW/BWF.

Рисунок 4

Рис. 4. Компонент /IWPGE/BWF

Развертывание центрального ядра: Если развёртывание ландшафта выполняется на основе ядра, заполните также поле «RFC-адрес».

Приложение «Моя входящая почта» позволяет обрабатывать как стандартные, так и пользовательские потоки операций на основе опций, определенных на бэкэнд-сервере. Поставляемая SAP плитка «Все элементы» для приложения «Моя входящая почта» позволяет быстро и эффективно обработать все задачи (стандартный поток операций). Кроме того, вы можете сконфигурировать на панели запуска SAP Fiori плитку, специфичную для сценария (пользовательский поток операций). Далее в этой главе рассмотрим конфигурирование плитки «Все элементы» и специфичные для сценариев плитки «Моя входящая почта».

2.2. Плитка «Все элементы» для приложения «Моя входящая почта»

В этом разделе описаны шаги по созданию стандартного потока операций с помощью плитки «Все элементы». Вам должны быть знакомы многие из рассматриваемых здесь экранов и транзакций.

Важно!

Убедитесь, что на бэкэнд-сервере определен по крайней мере один поток операций, который можно использовать в приложении «Моя входящая почта».

Выполните следующие шаги:

1. Активируйте сервис ICF для приложения SAPUI5 CA_FIORI_INBOX посредством транзакции SICF (см. рис. 5). Выберите default_host • sap • bc • ui5_ui5 • sap, щёлкните правой кнопкой мыши ca_fiori_inbox и нажмите Активировать.

Рисунок 5

Рис. 5. SAPUI5-компонент приложения «Моя входящая почта»

2. Активируйте сервис OData /IWPGW/TASKPROCESSING версии 2 с помощью транзакции /IWFND/MAINT_SERVICE (см. рис. 6).

Рисунок 6

Рис. 6. Сервис TASKPROCESSING

3. Присвойте бизнес-роль SAP_FND_BCR_MANAGER_T конечному пользователю посредством транзакции PFCG (см. рис. 7).

Рисунок 7

Рис. 7. Присвоение роли пользователю

4. Выполните вход в средство проектирования панели запуска SAP Fiori и выберите каталог SAP_FND_TC_T (см. рис. 8).

Рисунок 8

Рис. 8. Настройка плитки

5. Дважды щёлкните по плитке «Моя входящая почта: все элементы» и определите следующие параметры в разделе «Навигация»: allItems=true&listSize=150 (см. рис. 9). Для свойства listSize по умолчанию указано значение 100 (т. е. по умолчанию в приложении «Моя входящая почта» в списке выводится до ста элементов).

Рисунок 9

Рис. 9. Добавление свойств

6. Кроме того, вы можете определить следующие параметры:

massAction
По умолчанию для данного параметра установлено значение True. Это свойство позволяет пользователям одновременно обрабатывать несколько задач или массовые действия одного вида.

quickAction
По умолчанию для данного параметра установлено значение True. Это свойство позволяет пользователям выполнять быстрые действия.

sortBy
По умолчанию для данного параметра установлено значение CreatedOn. Это свойство выполняет сортировку списка, отображаемого в приложении.

7. Войдите на панель запуска SAP Fiori и добавьте приложение «Моя входящая почта» из каталога плиток

Утверждение менеджером (для всех приложений): контент, см. рис. 10.

Рисунок 10

Рис. 10. Добавление приложения «Моя входящая почта» на панель запуска SAP Fiori

8. Теперь плитка «Моя входящая почта» с указанием числа задач, к которым у вас есть доступ, должна появиться в группе «Моя начальная страница» на панели запуска SAP Fiori (см. рис. 11).

Рисунок 11

Рис. 11. Плитка «Все элементы»

Наиболее распространённые проблемы

Ниже описаны наиболее распространённые проблемы при конфигурировании приложения «Моя входящая почта»:

  • Проблема 1
    Если в плитке «Моя входящая почта» отображается ошибка или символы «???» либо если в журнале ошибок указано «Для провайдера не внедрён каскад задач», возможно, вы некорректно настроили псевдоним системы. Для проверки конфигурации см. раздел 2.1.
  • Проблема 2
    Убедитесь, что в бэкэнде создан по крайней мере один поток операций. В противном случае в плитке появятся ошибки.
  • Проблема 3
    Если в бэкэнде задачи отображаются, а на плитке «Моя входящая почта» указано 0 задач, причиной может быть активация фильтра задач в системе бэкэнда. Выполните транзакцию SPRO, выберите SAP NetWeaver • Активация сервиса шлюза • Контент • Параметры настройки потока операций • Активировать фильтр задач», а затем нажмите Деактивировать.

9. Теперь вы можете принимать важные решения из приложения «Моя входящая почта». При щелчке на плитке открывается список задач, к которым у вас есть доступ. Задачу можно Деблокировать, Переслать или Запросить. Кроме того, с помощью определенных задач вы сможете выполнять действия Принять или Отклонить в зависимости от вида задачи (см. рис. 12).

Рисунок 12

Рис. 12. Приложение «Моя входящая почта» с плиткой «Все элементы»

10. Для проверки задач в бэкэнд-системе войдите на бэкэнд-сервер и выполните транзакцию SBWP для просмотра ящика входящих сообщений. В бэкэнд-системе должно отображаться то же число задач (в нашем примере 59), что и в приложении (см. рис. 13).

Рисунок 13

Рис. 13. Потоки операций в бэкэнде

Далее рассмотрим ключевые возможности приложения «Моя входящая почта». Ниже представлены некоторые специализированные задачи:

Поиск

Можно выполнить поиск по произвольному тексту или поиск определенной задачи из списка (см. рис. 14).

Рисунок 14

Рис. 14. Функциональность поиска

Для обновления списка задач выберите значок Обновить .

Множественный выбор

С помощью значка можно активировать множественный выбор, чтобы пользователи могли выбрать и выполнить несколько задач. Сначала пользователю необходимо указать вид задачи (см. рис. 15).

Рисунок 15

Рис. 15. Вид задачи

Массовые действия

После выбора вида задачи (см. рис. 15) укажите несколько задач и выполните массовые действия, как показано на рис. 16.

Рисунок 16

Рис. 16. Множественный выбор задач

Сортировка

Опция сортировки в нижней части списка задач позволяет отсортировать задачи по следующим критериям: Дата создания (с самой новой), Создал (с A), Приоритет (с самого высокого) и Заголовок задачи (с A) (см. рис. 17).

Рисунок 17

Рис. 17. Сортировка по опциям

Фильтрация по критериям

Для фильтрации задач по Приоритету, Сроку исполнения, Виду задачи, Статусу или Дате создания используется значок

Фильтр (см. рис. 18).

Рисунок 18

Рис. 18. Фильтрация по опциям

Группировка по критериям

Значок Группировать по позволяет сгруппировать задачи по Приоритету, Виду задачи, Статусу или Резервированию (см. рис. 19).

Рисунок 19

Рис. 19. Группировка по опциям

Комментарии

После выбора задачи вы можете просмотреть ее подробные данные справа, а затем прочитать или опубликовать комментарии с помощью значка Комментарии (см. рис. 20).

С помощью значка Вложения пользователи могут просмотреть, загрузить или удалить вложения (см. рис. 21).

Рисунок 20

Рис. 20. Просмотр комментариев

Рисунок 21

Рис. 21. Вложения

Поделиться или отправить электронное сообщение

С помощью значка совместного использования можно отправить электронные сообщения или опубликовать задачи на предварительно сконфигурированном сайте SAP Jam (см. рис. 22).

Рисунок 22

Рис. 22. Сотрудничество

Теперь у вас есть четкое представление о том, как сконфигурировать приложение «Моя входящая почта», и о его функциях. Рассмотрим ряд расширенных функций сценариев потоков операций и пользовательских специфичных для сценариев плиток.

2.3. Входящая почта, специфичная для сценария

SAP поставляет множество стандартных сценариев утверждения. Однако в реальных сценариях стандартные приложения для утверждения могут не отвечать вашим бизнес-требованиям. С помощью приложения «Моя входящая почта» можно определить собственный сценарий потока операций и создать специфичные для сценария плитки на панели запуска SAP Fiori. Далее приводится пример с пошаговыми инструкциями по добавлению пользовательского потока операций в приложение «Моя входящая почта» на основе процесса утверждения заказа на поставку. Рассмотрим следующие задачи:

  1. Извлечение информации шаблона потока операций.
  2. Определение сценариев потока операций.
  3. Настройка процесса принятия решения по задаче.
  4. Добавление Business Add-In (BAdI) для предложений задач.
  5. Добавление плитки на панель запуска SAP Fiori.

Извлечение информации шаблона потока операций

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

1. Войдите на бэкэнд-сервер и выполните транзакцию PFTC.

2. Выберите Шаблон потока операций из раскрывающегося списка «Вид задачи», а затем введите 20000075 в поле «Задача» (см. рис. 23).

Рисунок 23

Рис. 23. Шаблон потока операций

3. Для просмотра потока операций нажмите .

4. Нажмите кнопку Средство построения потока операций для просмотра потока операций для деблокирования заказа на поставку (см. рис. 24).

Рисунок 24

Рис. 24. Средство построения потока операций

5. В потоке операций утверждение или деблокирование заказа на поставку выполняется в шаге 93. Дважды щёлкните по шагу 93 для просмотра операции в данном шаге (см. рис. 25).

Рисунок 25

Рис. 25. Шаг утверждения

6. Перейдите на вкладку «Управление», чтобы просмотреть и записать идентификатор задачи (см. рис. 26).

Рисунок 26

Рис. 26. Идентификатор задачи

7. Дважды щёлкните Ид. задачи для перехода в раздел «Метод объекта». Запишите тип объекта и метод (см. рис. 27).

Рисунок 27

Рис. 27. Раздел «Метод объекта»

8. Щёлкните значок Назад, чтобы вернуться на экран «Средство построения потока операций».

9. Откройте вкладку Результаты (см. рис. 28).

Рисунок 28

Рис. 28. Результаты

10. Дважды щёлкните по результату для просмотра событий. Сначала выберите RELEASED в поле «Событие» (см. рис. 29), а затем запишите информацию о событии и нажмите Дальше .

Рисунок 29

Рис. 29. Вид события

11. Выберите RESET (не используется) в поле «Событие» на вкладке «Результаты» (см. рис. 30) и нажмите Дальше .

Рисунок 30

Рис. 30. Результат для вида события

Теперь у вас есть вся информация по потоку операций, идентификатор задачи, методы объектов и результаты. В табл. 1 представлена информация, которая потребуется для выполнения остальной части данного упражнения.

Таблица 1

Табл. 1. Информация потока операций

Определение сценариев потока операций

В этом шаге определяются сценарии потока операций в шлюзах задач и пользовательская настройка в SAP Gateway. Выполните следующие шаги:

1. Выполните транзакцию SPRO.

2. Нажмите кнопку Ссылочное IMG SAP.

3. Выберите SAP NetWeaver • Активация SAP Gateway Service • Контент • Шлюз задач • Сервис шлюза задач • Определение сценария.

4. Щёлкните по папке «Определение сценария», а затем нажмите кнопку Новые записи.

5. Добавьте следующую информацию по определению сценария (см. рис. 31), а затем нажмите (Enter):

Идентификатор сценария: DEMO_PO_RELEASE.
Отображаемое имя сценария: утверждение заказа на поставку.
Техническое имя сервиса: /IWPGW/TASKPROCESSING.
Версия: 2.

Рисунок 31

Рис. 31. Определение сценария

6. Выберите определение сценария и нажмите Присвоить вид потребителя сценарию.

7. Нажмите Новые записи и добавьте виды потребителей, как показано на рис. 32.

Рисунок 32

Рис. 32. Вид потребителя

8. Дважды щёлкните Определение задачи для сценария (рис. 33), а затем нажмите кнопку Новые записи.

Рисунок 33

Рис. 33. Определение задач для сценария

9. Добавьте Псевдоним системы и Вид задачи, а затем нажмите Сохранить. Сценарий потока операций успешно определен!

Настройка процесса принятия решения по задаче

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

1. Выполните транзакцию SPRO.

2. Нажмите кнопку Ссылочное IMG SAP.

3. Выберите SAP NetWeaver • Активация SAP Gateway Service • Контент • Параметры настройки потока операций • Ведение имен задач и опций принятия решений.

4. Щёлкните по папке «Имя шага» и создайте новую запись со следующими подробными данными (см. рис. 34):
Ид. потока операций: WS20000075.
Ид. шага: 93.
Описание шага: утверждение заказа на поставку.

Рисунок 34

Рис. 34. Идентификатор потока операций и идентификатор шага

5. Выберите имя шага, а затем создайте два новых ключа решения, см. рис. 35:

Ключ: 1/2.
Текст решения: утвердить/отклонить.
Характер: положительно/отрицательно.

Рисунок 35

Рис. 35. Ключи решений

Реализация BAdI для предложения задач

В этом шаге выполняется реализация BAdI для обновления вариантов выбора пользователя в бэкэнде. Когда пользователь выбирает Утвердить или Отклонить в приложении «Моя входящая почта», этот BAdI обновляет решение пользователя в бэкэнде. Выполните следующие шаги:

1. Выполните транзакцию SE18.

2. Введите /IWWRK/BADI_WF_BEFORE_UPD_IB в поле «Имя BAdI» и нажмите Просмотреть (см. рис. 36).

Рисунок 36

Рис. 36. Стандартный BAdI

3. Щёлкните правой кнопкой мыши Реализации и выберите Создать реализацию BAdI (см. рис. 37).

Рисунок 37

Рис. 37. Создание варианта внедрения BAdI

4. Нажмите , чтобы создать новую реализацию расширения.

5. Введите имя и краткий текст, как показано на рис. 38, а затем нажмите Дальше .

Рисунок 38

Рис. 38. Реализация расширения

6. Выберите локальный объект.

7. Выберите новую реализацию расширения и нажмите Дальше (см. рис. 39).

Рисунок 39

Рис. 39. Выбор новой реализации расширения

8. Создайте реализацию BAdI, указав подробные данные, как показано на рис. 40, а затем нажмите Дальше .

Рисунок 40

Рис. 40. Создание реализации BAdI

9. Дважды щёлкните Значение фильтра, а затем нажмите (см. рис. 41).

Рисунок 41

Рис. 41. Фильтрация значений

10. Одновременно выберите WORKFLOW_ID и STEP_ID, а затем нажмите Дальше (см. рис. 42).

Рисунок 42

Рис. 42. Выбор фильтров

11. Дважды щёлкните значения фильтра, а затем укажите STEP_ID и WORKFLOW_ID (см. рис. 43):

STEP_ID: 93.
WORKFLOW_ID: WS20000075.

Рисунок 43

Рис. 43. Идентификатор потока операций и идентификатор шага

12. Нажмите Сохранить.

13. Для сохранения реализации расширения нажмите Да.

14. Дважды щёлкните по папке «Реализующий класс», а затем щёлкните по значению в поле «Реализующий класс» (см. рис. 44).

Рисунок 44

Рис. 44. Реализующий класс

15. Дважды щёлкните по значению в поле «Метод», см. рис. 45.

Рисунок 45

Рис. 45. Поле «Метод»

16. Введите код между Method и End Method.


                "1. Variables
            DATA abs_object TYPE swr_obj_2. DATA abv_retcode TYPE sy-subrc.
            DATA abt_container TYPE TABLE OF swr_cont. DATA abs_container_line TYPE swr_cont.
            DATA abt_msg_lines type sapi_msg_lines. DATA abt_msg_struc type sapi_msg_struc. DATA FORMNUMBER TYPE SWXFORMABS-FORMNUMBER.
            DATA abs_formabs TYPE swxformabs.

                "2. Get Workitem Details
            CALL FUNCTION 'SAP_WAPI_GET_OBJECTS' EXPORTING
            WORKITEM_ID = is_wi_details-wi_id
            * LANGUAGE = SY-LANGU
            * USER = SY-UNAME
            * BUFFERED_ACCESS = 'X' IMPORTING
            * LEADING_OBJECT =
            RETURN_CODE = abv_retcode LEADING_OBJECT_2 = abs_object
            TABLES
            * OBJECTS =
            MESSAGE_LINES = abt_msg_lines
            MESSAGE_STRUCT = abt_msg_struc

            * OBJECTS_2 =
            .

            "3. Get Document Number
            MOVE abs_object-instid TO formnumber.

            *4. Get Decision Based on the Workitem ID CALL FUNCTION 'SAP_WAPI_READ_CONTAINER'
            EXPORTING
            WORKITEM_ID = is_wi_details-wi_id
            * LANGUAGE = SY-LANGU
            * USER = SY-UNAME
            * BUFFERED_ACCESS = 'X' IMPORTING
            RETURN_CODE = abv_retcode
            * IFS_XML_CONTAINER =
            * IFS_XML_CONTAINER_SCHEMA = TABLES
            SIMPLE_CONTAINER = abt_container MESSAGE_LINES = abt_msg_lines
            MESSAGE_STRUCT = abt_msg_struc
            * SUBCONTAINER_BOR_OBJECTS =
            * SUBCONTAINER_ALL_OBJECTS =.

            "5. Get Application Data
            select single * from swxformabs into abs_formabs where formnumber = formnumber.

            "6. Set Decision Value CASE iv_decision_key.
            WHEN 0001. "Approved abs_container_line-value = 'A'. abs_formabs-procstate = 'A'.
            WHEN 0002. "Rejected abs_container_line-value = 'R'. abs_formabs-procstate = 'R'.
            ENDCASE.

            "7. Set Result Value Based on Decision abs_container_line-element = '_WI_RESULT'. "Update Container rows
            MODIFY abt_container INDEX 3 FROM abs_container_line TRANSPORTING value.

            "8. Update Container
            CALL FUNCTION 'SAP_WAPI_WRITE_CONTAINER' EXPORTING
            WORKITEM_ID = is_wi_details-wi_id
            * LANGUAGE = SY-LANGU
            * ACTUAL_AGENT = SY-UNAME DO_COMMIT = 'X'
            * IFS_XML_CONTAINER =
            * OVERWRITE_TABLES_SIMPLE_CONT = ' '
            * CHECK_INBOX_RESTRICTION = ' '
            IMPORTING
            RETURN_CODE = abv_retcode
            TABLES
            SIMPLE_CONTAINER = abt_container MESSAGE_LINES = abt_msg_lines
            MESSAGE_STRUCT = abt_msg_struc
            .

            "9. Update App Data
            abs_formabs-approvdate = sy-datum. abs_formabs-approvby = sy-uname. update swxformabs from abs_formabs.

            *10. Complete the Task
            CALL FUNCTION 'SAP_WAPI_WORKITEM_COMPLETE' EXPORTING
            WORKITEM_ID = is_wi_details-wi_id
            * ACTUAL_AGENT = SY-UNAME
            * LANGUAGE = SY-LANGU
            * SET_OBSOLET = ' '
            DO_COMMIT = 'X'
            * DO_CALLBACK_IN_BACKGROUND = 'X'
            * IFS_XML_CONTAINER =
            * CHECK_INBOX_RESTRICTION = ' ' IMPORTING
            RETURN_CODE = abv_retcode
            * NEW_STATUS =
            TABLES
            * SIMPLE_CONTAINER = abt_container MESSAGE_LINES = abt_msg_lines
            MESSAGE_STRUCT = abt_msg_struc
            .

            *11. Set Confirm
            CALL FUNCTION 'SAP_WAPI_WORKITEM_CONFIRM' EXPORTING
            WORKITEM_ID = is_wi_details-wi_id
            * ACTUAL_AGENT = SY-UNAME
            * LANGUAGE = SY-LANGU
            DO_COMMIT = 'X'
            * CHECK_INBOX_RESTRICTION = ' ' IMPORTING
            RETURN_CODE = abv_retcode
            * NEW_STATUS =
            TABLES
            MESSAGE_LINES = abt_msg_lines
            MESSAGE_STRUCT = abt_msg_struc
            

Листинг 1. BAdI для фиксации решения пользователя

17. Нажмите Сохранить, а затем Активировать.

Добавление плитки на панель запуска SAP Fiori

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

1. Войдите в средство проектирования панели запуска SAP Fiori.

2. Выберите SAP_FND_TC_T и добавьте новую динамическую плитку.

3.Используйте следующие подробные данные из раздела «Общее», см. рис. 46:
Заголовок: введите «Моя входящая почта».
Подзаголовок: введите «Утверждение заказа на поставку».
Ключевые слова: введите «Поток операций, входящая почта, утверждение заказа на поставку».
Значок: выберите значок.

Рисунок 46

Рис. 46. Раздел «Общее»

4. Введите подробные данные URL-адреса сервера в разделе «Динамические данные»:
/sap/opu/odata/IWPGW/TASKPROCESSING;mo;v=2/ScenarioCollection?$filter= key eq <ид. сценария>.

В данном примере используется ид. сценария DEMO_PO_RELEASE (см. рис. 47).

Рисунок 47

Рис. 47. Динамические данные

5. Введите следующие подробные данные в разделе «Навигация» (см. рис. 48):

Семантический объект: WorkflowTask.
Действие: displayInbox.
Параметры: scenarioId=<ид. сценария>.

Рисунок 48

Рис. 48. Раздел «Навигация»

6. Нажмите Сохранить.

7. Войдите на панель запуска SAP Fiori и добавьте новую плитку «Моя входящая почта» из каталога SAP_FND_TC_ T (см. рис. 49).

8. Щёлкните плитку «Моя входящая почта», утверждение заказа на поставку и откройте её (см. рис. 50).

Рисунок 49

Рис. 49. Плитка «Все элементы» и специфичная для сценария плитка

Рисунок 50

Рис. 50. Специфичное для сценария приложение

Теперь пользователи могут утверждать и отклонять заказы на поставку из приложения «Моя входящая почта».

Заключение

Потоки операций важны для выполнения ежедневных задач. В этой главе представлены основные сведения по обработке потока операций и интеграции SAP Business Workflows с приложением «Моя входящая почта» в SAP Fiori. Мы сконфигурировали плитку «Все элементы», в которой отображаются все задачи потока операций, к которым у вас есть доступ в бэкэнд-системе. В заключение мы создали пользовательский поток операций для плитки, специфичной для сценария.

В дополнение рекомендуем познакомиться с главой 13 книги «SAP Fiori Implementation and Development» (издательство SAP PRESS, 2017), в которой рассматривается интеграция приложений SAP Fiori с другими продуктами SAP.