Расширенное логирование в разрезе идентификатора документа¶
Объекты по расширенному логированию хранятся в пакете /TRL/XDE_LOGGING
.
Для расширенного логирования создан класс /TRL/XDE_CL_EXTENDED_LOGGER
. Данный класс наследует интерфейс /TRL/XDE_IF_LOGGER
.
Методы класса /TRL/XDE_CL_EXTENDED_LOGGER¶
Имя метода |
Вид |
Видимость |
Описание |
---|---|---|---|
/TRL/XDE_IF_LOGGER~GET_INSTANCE |
Static Method |
Public |
Получить экземпляр класса |
/TRL/XDE_IF_LOGGER~APPL_LOG_RETURN |
Instance Method |
Public |
Сохранить структуру /TRL/XDE_return в журнал приложения |
/TRL/XDE_IF_LOGGER~APPL_LOG_TEXT |
Instance Method |
Public |
Сохранить информацию в журнал приложения |
ADD_MSG |
Static Method |
Public |
Добавить сообщение в лог |
SHOW_LOG |
Static Method |
Public |
Вывести лог |
SET_NO_ADDITION |
Static Method |
Public |
Установить флаг добавления сообщений в лог |
GET_SUBOBJECT |
Instance Method |
Protected |
Получить имя SLG подобъекта |
GET_OBJECT |
Static Method |
Protected |
Получить ссылку на объект |
DB_SAVE |
Instance Method |
Private |
Сохранить в журнал приложений SAP |
CHECK_LOG_OPERATION |
Static Method |
Private |
Проверить логирование для операции |
Описание методов класса¶
Получить экземпляр класса
Метод /TRL/XDE_IF_LOGGER~GET_INSTANCE
не реализован в классе.
Сохранить структуру с данными об ошибке в журнал приложения
Метод /TRL/XDE_IF_LOGGER~APPL_LOG_RETURN
не реализован в классе.
Сохранить информацию в журнал приложения
Метод /TRL/XDE_IF_LOGGER~APPL_LOG_TEXT
реализован в классе. Данный метод добавляет сообщение в лог по идентификатору журнала.
Кроме того, длинный текст разбивается на части и сохраняется как таблица текстов. В качестве обработки длинного сообщения задается
функциональный модуль /TRL/XDE_LOG_CALLBACK_SHOW_DETAIL
.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
IV_RECORD_ID |
Importing |
ANY |
Идентификатор документа |
|
IV_PRM_NAME |
Importing |
ANY |
Имя параметра |
|
IV_PRM_VALUE |
Importing |
ANY |
Значение параметра |
|
IT_LOG_PARAM |
Importing |
/TRL/XDE_T_LOG_PARAM |
Таблица параметров |
|
IV_STEXT |
Importing |
X |
ANY |
Короткий текст сообщения |
IV_LTEXT |
Importing |
ANY |
Длинный текст сообщения |
|
IV_MSGTY |
Importing |
ANY |
Тип сообщения (по умолчанию «E») |
|
IV_PROB_CLASS |
Importing |
BALPROBCL |
Класс проблем сообщения |
Добавить сообщение в лог
Данный метод полностью выполняет операцию добавления сообщения в лог: создание объекта логирования, выполнение проверок и сохранение сообщения.
Если до вызова данного метода сделать вызов метода SET_NO_ADDITION
с параметром IV_NO_ADDITION
= «X», то метод добавления сообщения не будет отрабатывать.
В остальных случаях делается вызов метода CHECK_LOG_OPERATION
и в случае его удачного завершения (возвращен объект класса) с помощью /TRL/XDE_IF_LOGGER~APPL_LOG_TEXT
вызывается метод добавления сообщения в лог.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
IV_OPER |
Importing |
X |
CLIKE |
Имя операции |
IS_HEADER |
Importing |
/TRL/XDE_HEADER |
Заголовок документа |
|
IV_STEXT |
Importing |
X |
CLIKE |
Короткий текст сообщения |
IV_LTEXT |
Importing |
CLIKE |
Длинный текст сообщения |
|
IV_MSGTY |
Importing |
CLIKE |
Тип сообщения (по умолчанию «E») |
Вывести лог
Данный метод считывает все журналы по идентификатору документа, который передается как внешний идентификатор журналов. Кроме того, поиск по журналам
выполняется с учетом объекта логирования /TRL/XDE_LOG
.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
IS_DATA |
Importing |
X |
ANY |
Данные, содержащие идентификатор документа |
Установить флаг добавления сообщений в лог
Данный метод устанавливает флаг (атрибут MV_NO_ADD
) равным значению параметра IV_NO_ADDITION
.
Если атрибут равен «X», то метод добавления сообщения не будет выполняться.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
IV_NO_ADDITION |
Importing |
XFELD |
Флаг, запрещающий добавлять сообщения (по умолчанию «X» ) |
Получить имя SLG подобъекта
Данный метод возвращает значение подобъекта логирования в зависимости от используемой операции.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
RV_SUBOBJ |
Returning |
X |
BALSUBOBJ |
Подобъект логирования |
Получить ссылку на объект
Данный метод возвращает объект класса. Прежде всего выполняется поиск по уже созданным объектам, если по идентификатору документа и имени операции такой объект находится, то работа метода завершается. В противном случае создается новый объект.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
IV_OPER |
Importing |
X |
CLIKE |
Имя операции |
IV_RECORD_ID |
Importing |
X |
/TRL/XDE_ED_RECORD_ID_EXT |
Идентификатор документа |
RO_OBJ |
Returning |
X |
/TRL/XDE_CL_EXTENDED_LOGGER |
Объект класса расширенного логирования |
Сохранение в журнал приложений SAP
Данный метод сохраняет добавленные сообщения в журнал приложения. Метод не имеет параметров.
Проверить логирование для операции
В первую очередь проверяется наличие уже созданного объекта логирования по идентификатору документа и имени операции. Если такой объект создан, то работа метода завершается.
В противном случае метод выполняет проверку по настроечной таблице /TRL/XDE_LOG_SET
. В качестве критериев для проверки используются все ключевые поля таблицы:
DIRECTION
(направление документооборота)
ID_OED
(идентификатор оператора)
SAP_DOC_TYP
(тип документа SAP)
OED_DOC_TYP
(тип документа оператора)
Если в таблице находится строка, удовлетворяющая условиям выборки, и имеющая значение = «X» в поле, соответствующем операции, то проверка считается выполненной.
В таком случае делается вызов метода GET_OBJECT
.
Имя параметра |
Вид |
Обязателен |
Тип |
Описание |
---|---|---|---|---|
IV_DIRECTION |
Importing |
X |
/TRL/XDE_ED_DIRECTION |
Направление документооборота |
IV_ID_OED |
Importing |
X |
/TRL/XDE_ED_ID_OED |
Идентификатор оператора |
IV_SAP_DOC_TYP |
Importing |
X |
/TRL/XDE_ED_OBJECT_ART |
Вид документа SAP |
IV_OED_DOC_TYP |
Importing |
X |
/TRL/XDE_ED_DOC_TYPE |
Вид документа оператора |
IV_OPER |
Importing |
CLIKE |
Имя операции |
|
IV_RECORD_ID |
Importing |
/TRL/XDE_ED_RECORD_ID_EXT |
Идентификатор документа |
|
RO_LOG |
Returning |
/TRL/XDE_CL_EXTENDED_LOGGER |
Объект класса расширенного логирования |
Описание атрибутов класса¶
Имя атрибута |
Вид |
Видимость |
Тип |
Описание |
---|---|---|---|---|
MS_OPER |
Constant |
Public |
Внутренний тип |
Структура, содержащая имена операций |
MC_MSGTY_I |
Static Attribute |
Public |
MSGTY |
Вид сообщения. Значение «I» |
MC_MSGTY_W |
Static Attribute |
Public |
MSGTY |
Вид сообщения. Значение «W» |
MC_MSGTY_E |
Static Attribute |
Public |
MSGTY |
Вид сообщения. Значение «E» |
MC_MSGTY_S |
Static Attribute |
Public |
MSGTY |
Вид сообщения. Значение «S» |
MC_TEXTPAR1 |
Static Attribute |
Public |
CHAR2 |
Параметр для замены. Значение «&1» |
MC_TEXTPAR2 |
Static Attribute |
Public |
CHAR2 |
Параметр для замены. Значение «&2» |
MC_REC_ID |
Static Attribute |
Public |
TPDA_ITAB_COL_VAL |
Имя компонента. Значение «RECORD_ID» |
MS_SUBOBJ |
Constant |
Protected |
Внутренний тип |
Структура, содержащая имена подобъектов |
MV_HANDLE |
Instance Attribute |
Protected |
BALLOGHNDL |
Идентификатор журнала |
MV_OPER |
Instance Attribute |
Protected |
CHAR15 |
Имя операции |
MV_NO_ADD |
Static Attribute |
Private |
XFELD |
Флаг «Не добавлять сообщения» |
MT_OBJ |
Static Attribute |
Private |
Внутренний тип |
Набор созданных объектов логирования |
MC_LOG_OBJECT |
Static Attribute |
Private |
BALOBJ_D |
Объект логирования. Значение «/TRL/XDE_LOG» |
Настройка расширенного логирования¶
Для настройки расширенного логирования в разрезе документа существует настроечная таблица /TRL/XDE_LOG_SET
.
Имя поля |
Ключ |
Тип |
Описание |
---|---|---|---|
MANDT |
X |
MANDT |
Мандант |
DIRECTION |
/TRL/XDE_ED_DIRECTION |
Направление документооборота |
|
ID_OED |
X |
/TRL/XDE_ED_ID_OED |
Идентификатор оператора |
SAP_DOC_TYP |
X |
/TRL/XDE_ED_OBJECT_ART |
Вид документа SAP |
OED_DOC_TYP |
X |
/TRL/XDE_ED_DOC_TYPE |
Вид документа ОЭД |
GET_NEW_DOC |
XFELD |
Получение нового документа |
|
SEQ_OUT_DOC |
XFELD |
Постановка в очередь отправки |
|
SIGN_OUT_DOC |
XFELD |
Подпись исходящего документа |
|
SEND_OUT_DOC |
XFELD |
Отправка исходящего документа |
|
GET_NEW_STATUS |
XFELD |
Получение нового статуса |
|
DEL_OUT_DOC |
XFELD |
Удаление документа |
|
WITH_OUT_DOC |
XFELD |
Отзыв исходящего документа |
|
REV_OUT_DOC |
XFELD |
Аннулирование исходящего документа |
|
ACP_REV_DOC |
XFELD |
Согласование аннулирования |
|
REJ_REV_DOC |
XFELD |
Отклонение аннулирования |
|
ACP_IN_DOC |
XFELD |
Согласование входящего документа |
|
REJ_IN_DOC |
XFELD |
Отклонение входящего документа |
|
GET_PRINTFORM |
XFELD |
Получение печатной формы |
|
GET_ZIP |
XFELD |
Получение ZIP архива |
|
GET_FNS |
XFELD |
Получение ЮЗ документов |
|
AUTOINV |
XFELD |
Автофактурирование |
|
MIGO_MIRO |
XFELD |
Предзаполнение MIGO/MIRO |
|
NOTIF |
XFELD |
Уведомления |
Для ведения таблицы создан кластер ракурсов /TRL/XDE_LOG_SETTINGS
, который также может быть вызыван с помощью транзакции /TRL/XDE_LOGGING
.
Кластер делит таблицу на две части, в одной из которых можно заполнить данные для входящих документов, в другой части - данные для исходящих документов.

Примечание
В принципе заполнение нужно выполнять с учетом всех полей. Однако, если необходимо включить логирование по определенным операциям без учета некоторых
критериев, поле можно оставить пустым. Например, если нужно включить логирование по операции для всех документов по оператору «XXX», то следует
заполнить только поле ID_OED
= «XXX» для входящих и/или исходящих документов и оставить поля SAP_DOC_TYP
и OED_DOC_TYP
пустыми.

Просмотр сообщений расширенного логирования¶
Сообщения, попавшие в логи, можно посмотреть двумя способами.
С помощью транзакции
SLG1
.С помощью кнопки
История операций
.
Навигация и поиск ошибок¶
Для поиска ошибок, возникших во время логирования, можно воспользоваться классом сообщений /TRL/XDE_LOG
(транзакция SE91
), который создан
специально для этой задачи. Данный класс содержит все сообщения, которые затем можно увидеть в журналах. Для навигации по классу сообщения можно
воспользоваться функцией поиска по классу сообщений и журналу использования.
Поиск сообщений в классе сообщений по тексту
Поиск использования сообщения