Меню

Настройка функционала Фреймворк уведомлений (notification framework) в SAP CRM

|

Начиная с версии системы SAP CRM 7.0 EHP2 SP6 в стандартной поставке был представлен новый функционал под названием «Фреймворк уведомлений (Notification Framework)». Что же это за функционал?

1. ВВЕДЕНИЕ

2. ПРИНЦИП РАБОТЫ ФРЕЙМВОРКА УВЕДОМЛЕНИЙ

2.1. Понятие подписки в фреймворке уведомлений

2.2. Обработка операции и отправка уведомлений

3. НАСТРОЙКА ФРЕЙМВОРКА УВЕДОМЛЕНИЙ

3.1. Первоначальная настройка функционала фреймворк уведомлений

3.2. Основные настройки фреймворка уведомлений

4. Тестовый пример отправки сообщения через фреймворк уведомлений

4.1. Настройка формуляра

4.2. Настройка подписки

4.3. Отправка сообщения по заказу через функционал фреймворка уведомлений

5. ИСТОЧНИКИ

1. ВВЕДЕНИЕ

Начиная с версии системы SAP CRM 7.0 EHP2 SP6 в стандартной поставке был представлен новый функционал под названием «Фреймворк уведомлений (Notification Framework)». Что же это за функционал?

Функционал фреймворк уведомлений позволяет осуществлять автоматическое информирование всех участников бизнес процесса о статусе исполнения той или иной бизнес операции в рамках всего её жизненного цикла.

Отличительными особенностями данного функционала от других способов отправки писем (профиль действий, поток операций, alert-ы) являются:

  • тот факт, что пользователь сам может подписываться на уведомления для нужной бизнес операции;
  • выполнение рассылки происходит в общей памяти (shared memory), а не в базе данных, что в случае перезапуска сервера привело бы к потере запланированных рассылок.

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

Данная информация будет очень полезной как для технических, так и для функциональных консультантов SAP CRM.

2. ПРИНЦИП РАБОТЫ ФРЕЙМВОРКА УВЕДОМЛЕНИЙ

2.1. Понятие подписки в фреймворке уведомлений

Основной сущностью в функционале фреймворк уведомлений является подписка (notification), состоящая из:

  1. Заголовка, содержащего общую информацию о подписке (идентификатор, тип обрабатываемой операции (OBJECT_TYPE), даты действия подписки, даты и авторы создания и последнего изменения, шаблоны (формуляры) сообщений на каждый канал коммуникации и др.). Список каналов коммуникации ограничен стандартным функционалом CRM alerts, E-mails и SMS. Однако он может быть расширен. Для этого в системе предусмотрено стандартное BAdI внедрение – BADI_CRM_NF_CHN_OUTPUT_FILL.
  2. Условий отправки уведомлений по заданной подписке, на основе которых система определяет, нужно ли осуществлять рассылку по данной подписке или нет.
  3. Подписчиков – получателей рассылки, которые могут быть заданы как явно (номер делового партнёра или орг. единица из орг. структуры), так и динамически (может быть указана функция партнёра в обрабатываемой операции, то есть партнёр, который выполняет ту или иную функцию в данном операции/процессе).

Для каждого подписчика может быть выбран один или несколько каналов коммуникации, по которым ему уйдёт сообщение на основе формуляра, указанного в заголовке подписки. В случае отправки уведомления через канал EMAIL стандарт отправляет сообщения на все адреса электронной почты, указанные на деловом партнёре или орг. единице.

На каждой подписке обязательно должен быть заполнен тип обрабатываемой операции, выбрано хотя бы 1 условие и хотя бы 1 подписчик.

Если бизнес-операция/документ соответствует всем условиям, заданным в подписке, то происходит отправка сообщений всем подписчикам по указанным на каждом из них каналам коммуникации.

Пример структуры подписки приведен ниже на рисунке 1.

Рис. 1 – Пример настроенной активной подписки в WebUI.

2.2. Обработка операции и отправка уведомлений

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

  1. Сохранение операции: вызывается реализация CRM_BUS20001_UPLOAD (определение BADI – ORDER_SAVE), внутри которой генерируется BDoc[1] типа BUS_TRANS_MSG, а также создаётся очередь с названием CSA_ORDER_ {OBJECT_ID бизнес операции}. Необходимо отметить, что обработка отправки будет осуществляться в асинхронном режиме в SAP CRM Middleware после сохранения документа.
  2. Проверка наличия подписок, условия которых удовлетворяют сохраняемой операции: сгенерированный BDoc обрабатывается функциональным модулем CRM_NF_MW_1ORDER_ADAPTER, внутри которого на основании типа бизнес-операции выполняются следующие действия:
    1. определяются соответствующий обработчик фреймворк уведомлений и подходящие подписки;
    2. проверяются условия каждой активной подписки применительно к BDoc-у;
    3. обрабатывается и отправляется уведомление в соответствии с режимом отправки.

Отправка уведомления по подписке может осуществляться в 2 режимах:

  • прямой отправки (параметр DIRECT_SENDING = abap_true) – отправка сообщений в данном случае осуществляется практически мгновенно (сразу после сбора всех подписок, по которым операция прошла проверки на условия);
  • отложенной отправки (параметр DIRECT_SENDING <> abap_true) – в этом случае в буферную таблицу CRMD_NF_QUEUE добавляются записи, содержащие идентификаторы каналов коммуникации, обработанной операции и подписок, по которым были пройдены проверки.

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

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

Также стоит выделить следующее: все подписки кэшируются в разделяемой памяти (shared memory) в области CL_CRM_NOTIF_SHM_AREA «в целях эффективного использования памяти, быстрой обработки и поддержки многопоточной обработки»[2]. Интервал обновления буфера, количество потоков и количество обрабатываемых подписок в рамках одного потока задаются в настройках отдельными параметрами – MAX_SHM_LIFETIME, MAX_THREADS и PACKAGE_SIZE соответственно.

3. НАСТРОЙКА ФРЕЙМВОРКА УВЕДОМЛЕНИЙ

3.1. Первоначальная настройка функционала фреймворк уведомлений

Базовые требования и настройки фреймворк уведомлений при первоначальной настройке описаны в SAP note 1818151[3]. В соответствии с данной нотой, необходимым условием работы фреймворка является активация бизнес-функции CRM_ITSM_ALERTS в транзакции SFW5 (рис. 2).

Рис. 2 – Активация бизнес-функции CRM_ITSM_ALERTS

Далее необходимо выполнить следующие шаги по настройке:

1. Активация Middleware, типа BDoc-a BUS_TRANS_MSG и регистрация обработчика (адаптера) CRM_NF_MW_1ORDER_ADAPTER для обработки данного типа BDoc-a.

a. Необходимо убедиться, что включен Middleware в транзакции MW_MODE (рис. 3).

Рис. 3 – Включение Middleware

b. Включение типа BDoc-a BUS_TRANS_MSG в транзакции SMW3_00 (рис. 4).

Рис. 4 – Включение BUS_TRANS_MSG

c. Регистрация адаптера CRM_NF_MW_1ORDER_ADAPTER в транзакции SMW3FDCUST (рис. 5 и 6).

Рис. 5 – Регистрация адаптера CRM_NF_MW_1ORDER_ADAPTER (запись 1)

Рис. 6 – Регистрация адаптера CRM_NF_MW_1ORDER_ADAPTER (запись 2)

2. Настройка фонового задания для отчёта CRM_NF_CORE_QOUT_PROCESSING в транзакции SM36 с соответствующим вариантом запуска (создаётся в транзакции SE38). Если планируется использовать фреймворк уведомлений только в режиме прямой отправки, то задание создавать не нужно.

3. Добавление логических ссылок в WebUI для навигации в нужную бизнес–роль (по стандарту ссылки доступны под ролью SERVICEPRO в основных функциях):

a. Поиск подписок (LogLink ID – CT-NF-SR, GroupID – CT-APPL-SR).

b. Создание подписок (LogLink ID – CT-NF-СR, GroupID – CT-APPL-СR).

4. Наделение пользователя соответствующими полномочиями в транзакции PFCG[4]:

  • Объект полномочий CRM_NF_API отвечает за права на создание, изменение или удаление подписок. Если у пользователя нет соответствующих полномочий, то он может редактировать только подписки, которые были им созданы.
  • Объект полномочий CRM_NF_SUB определяет права, чтобы иметь возможность подписываться/отписываться на данную «подписку».
  • Объект полномочий CRM_NF_SUP наделяет правами администратора фреймворка уведомлений.

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

При первоначальной настройке фреймворка уведомлений также рекомендуется имплементировать:

  • SAP Note 2218265[5], которая исправляет ошибку при генерации BDoc-a;
  • SAP Note 2202007[6], которая исправляет ошибку в механизме фильтрации по статусу операции при использовании стандартного обработчика для типа операции;
  • SAP Note 2161849[7], которая добавляет новый тип подписчика «динамический получатель» (партнерская функция на бизнес операции).

3.2. Основные настройки фреймворка уведомлений

Основные настройки фреймворка

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти