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

 In Skybuffer Academy

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

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

1

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

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

 

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

 

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

 

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

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

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

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

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

Класс /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

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

Класс /SKYBFR/CL_YCA1_ERP_MAIL_MM_GR

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

9
10

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

11
12

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

SE80 класс /SKYBFR/CL_YCA1_WF_EXIT_MM_GR

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

13

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

14

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

15

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

16

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

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

 

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

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

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

 

Пример SAP GUI

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

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

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

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

gr_wi

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

Вывод

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

Recent Posts

Leave a Comment

Start typing and press Enter to search

// Put the meta tag below for mobile responsive