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

Пример реализации
В качестве примера реализации email интерфейсов общения с пользователем для SAP потока операций (workflow) рассмотрим следующий пример:
Сотрудником склада одной из организаций была создана Счет-Фактуры. Как только документ был сохранен, руководителю отдела было направлено письмо с включенной опцией: согласовать либо отклонить созданный документ.
Сейчас на небольшом примере мы расскажем, как просто с использованием YCA1 «Простые коммуникации» реализовать такое письмо для SAP потока операций.
Пример реализации классов для сценария потока операций состоит из трех основных частей:
1) Изначально, необходимо унаследовать класс, содержащий основную функциональность по формированию писем, в свой класс.
2) Затем необходимо скопировать демонстрационный класс для формирования письма по конкретному виду документу.
3) В качестве завершающего этапа, необходимо скопировать демонстрационный класс для привязки к потоку операций
Теперь пройдемся по всем этапам реализации более подробно.
- Класс /SKYBFR/CL_YCA1_ERP_MAIL_BONE
Изначально необходимо унаследовать класс /SKYBFR/CL_YCA1_ERP_MAIL_BONE в свой класс — это будет общее ядро для всех задач по формированию писем как для рассылки простых оповещений по документам, так и для писем на согласование по потоку операций. В этом классе нужно будет переопределить четыре маленьких метода для формирования общего корпоративного стиля писем:
– Шаблон письма (get_template) – здесь определяется имя шаблона (показано в примере), либо при необходимости можно реализовать чтение шаблона из любого источника:

– Заголовок (get_header) – здесь определяется тема письма и шапка (имя компании, информационная строка):


– Обращение к получателю (get_sections) – здесь мы формируем текст обращения к получателю:


– Подпись (get_footer)


Выше упомянутый класс создается один раз для всех видов документов в системе.
- Класс /SKYBFR/CL_YCA1_ERP_MAIL_MM_IV
Для формирования письма по конкретному виду документа необходимо скопировать поставляемый с YCA1 «Простые коммуникации» демонстрационный класс /SKYBFR/CL_YCA1_ERP_MAIL_MM_IV , указать для него созданный в предыдущем пункте класс-ядро в качестве родительского класса и переопределить следующие методы:
– наполнение Содержимого письма (get_sections) – отвечает за чтение данных документа и непосредственно наполнение данными письма


– формирование Кнопок (get_buttons) – используется для указания действий по каждой из кнопок, надписей на них, другой дополнительной информации, к примеру, элементы контейнера потока операций для изменения, шаблон кнопок.


Этого будет достаточно для рассылки простых уведомлений по документам без привязки к потоку операций.
- SE80 класс /SKYBFR/CL_YCA1_WF_EXIT_MM_IV
Для привязки к потоку операций необходимо скопировать демонстрационный класс /SKYBFR/CL_YCA1_WF_EXIT_MM_IV, поставляемый с YCA1 «Простые коммуникации», и переопределить методы:
– для определения work item (get_flow) – какой элемент потока операций относится к отсылке письма на утверждение, какой к уведомлению “Утверждено/Отклонено”

– для вызова класса из предыдущего пункта (prepare_mail) – вызов формирования письма

При необходимости также переопределить методы:
– чтение Объекта из потока операций (get_object) – из контейнера потока операций или элемента потока

– и получения Агентов-получателей письма (get_actors) – Адд-Он может сам определять агентов по правилу, либо по инициатору. Другие алгоритмы могут быть также реализованы в этом методе

Во всех этих классах используются текстовые элементы. Также в Адд-Оне реализован механизм переключения языка на язык конкретного получателя, что обеспечивает поддержку мультиязычности при формировании писем прямо “из коробки”.
Как видно из данного примера, объем программного кода не большой, и непосредственно программирование кода для формирования письма и экзит-класса для потока операций может быть выполнено за 1-3 часа.
Простота внедрения
Все, что необходимо сделать для ускорения реализации это – скопировать или унаследовать вспомогательные классы. В случае, если необходимо реализовать отдельную опцию – необходимо переопределить соответствующий метод класса.
Повторимся, объем разрабатываемого кода небольшой, т.к. основная часть функционала уже реализована в Адд-Оне.
Пример SAP GUI
Теперь откроем в бэкэнд-системе Счет-Фактуру, для которой было сформировано письмо. Для того, чтобы согласующему из письма агенту, не пришлось заходить в SAP-систему, в письме отображаются следующие основные данные объекта:
- Общие данные документа;
- Детали позиции документа.

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

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