Журнал приложения в SAP MII. Часть 1.

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

Нам нужен следующий функционал:

  1. Место хранения записей журнала приложения (Persistent MDO).
  2. API для добавления записей в журнал приложений (транзакция добавления одной записи, транзакция массового добавления записей).
  3. Журнал приложений с возможностью выбора нужной степерью детализации (в табличном виде или в виде дашборда).

Прежде всего создадим проект, в котором будут все нужные объекты. Назовём его Log

В нем создадим объект, в котором будет хранятся записи журнала. Чтобы не зависеть от внешней базы данных, создадим свой постоянный MDO-объект (Persistent MDO). Для этого переходим на вкладку Objects и кликаем правой кнопкой мыши на папке MIIOBJ. Выбираем пункт New File — Persistent MDO

Указываем атрибуты объекта — по сути это поля новой таблицы

IDstring36Иденитификатор строки
DateTimedateTimeДата и время записи
Projectstring40Проект источника
Objectstring40Объект источника
Typestring1Тип записи (I/W/E/A)
Messagestring1000Сообщение
Datestring10Дата записи
Аттрибуты MDO

Примечание: Отдельное поле Date пришлось добавить при создании отчета, так как не нашел возможности легко фильтровать записи по полю DateTime

Persistent MDO Log

Сразу подготовим SQL-запрос, с помощью которого можно будет добавлять запись в журнал. Я предпочитаю создавать каталог SQL, в котором будут собраны все запросы. Для этого на вкладке Catalog создаем папку в проекте Log. В ней создаем MDOQuery Log_Insert

Создание MDOQuery

В создаваемом MDOQuery выбираем MDO, который мы создали на предыдущем этапе, режим работы с объектом

Создание MDOQuery. Объект и режим доступа к данным
Создание MDOQuery. Параметры
Создание MDOQuery. Атрибуты

Для корректного сохранения даты и времени dateTime указываем формат даты времени

Создание MDOQuery. Формат dateTime

Создадим транзакцию AddLog, которая добавит одну запись в журнал с входящими параметрами для записи в журнал

Параметры транзакции

Сама транзакция пока будет состоять из одного блока, в котором вызывается MDOQuery со следующими параметрами

Параметры MDOQuery

Таким образом создали транзакцию, которая создает одну запись в журнал приложения.

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

Пример вызова API по добавлению записи в журнал приложения

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

Пример вызова API. Добавление записи об ошибке

В следующей части добавим функционала в API и сделаем отчет для мониторинга журнала приложений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *