Ускоренное внедрение пакета «Простые коммуникации» на основе вспомогательных ABAP классов. Поток операций процесса «Cогласование контракта»

 In Skybuffer Academy

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

На конкретном примере убедимся в простоте внедрения и дальнейшего использования нашего продукта, качество которого подтверждено сертификатом компании SAP.

1

Пример реализации

В качестве примера реализации email интерфейсов общения с пользователем для SAP потока операций (workflow) рассмотрим следующий пример:

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

Сейчас на небольшом примере мы расскажем, как просто с использованием YCA1 «Простые коммуникации» реализовать такое письмо для SAP потока операций.

Пример реализации классов для сценария потока операций состоит из трех основных частей:

1) Изначально, необходимо унаследовать класс, содержащий основную функциональность по формированию писем, в свой класс.

2) Затем необходимо скопировать демонстрационный класс для формирования письма по конкретному виду документу.

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

Теперь пройдемся по всем этапам реализации более подробно.

 

  1. Класс /SKYBFR/CL_YCA1_ERP_MAIL_BONE

Изначально необходимо унаследовать класс /SKYBFR/CL_YCA1_ERP_MAIL_BONE в свой класс — это будет общее ядро для всех задач по формированию писем как для рассылки простых оповещений по документам, так и для писем на согласование по потоку операций. В этом классе нужно будет переопределить четыре маленьких метода для формирования общего корпоративного стиля писем:
– Шаблон письма (get_template) – здесь определяется имя шаблона (показано в примере), либо при необходимости можно реализовать чтение шаблона из любого источника:

2

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

3
4

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

5
6

– Подпись (get_footer)

7
8

Выше упомянутый класс создается один раз для всех видов документов в системе.

 

  1. Класс /SKYBFR/CL_YCA1_ERP_MAIL_MM_CO

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

9

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

10
11

Этого будет достаточно для рассылки простых уведомлений по документам без привязки к потоку операций.

 

  1. Класс /SKYBFR/CL_YCA1_WF_EXIT_MM_CO

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

12

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

13

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

14

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

15

Во всех этих классах используются текстовые элементы. Также в Адд-Оне реализован механизм переключения языка на язык конкретного получателя, что обеспечивает поддержку мультиязычности при формировании писем прямо “из коробки”.

Как видно из данного примера, объем программного кода не большой, и непосредственно программирование кода для формирования письма и экзит-класса для потока операций может быть выполнено за 1-3 часа.

 

Простота внедрения

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

Повторимся, объем разрабатываемого кода небольшой, т.к. основная часть функционала уже реализована в Адд-Оне.

 

Пример SAP GUI

Теперь откроем в бэкэнд-системе Контракт, для которой было сформировано письмо. Для того, чтобы согласующему из письма агенту, не пришлось заходить в SAP-систему, в письме отображаются следующие основные данные объекта:

  • Заголовок;
  • Детали позиции документа.
16

Пример письма

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

17

Как мы видим, оно содержит именно те данные Контракта, которые были показаны на предыдущем шаге.

 

Вывод

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

Recent Posts

Leave a Comment

Start typing and press Enter to search