26 августа 2022

Логирование с помощью класса CL_ILM_LOG

Использование класса CL_ILM_LOG для логирования.

Пример.

  try .
      data(lo_log) = new cl_ilm_log(
        im_object = 'ZOBJ'
        im_subobject = 'ZSUBOBJ' ).
    catch cx_ilm.
      return.
  endtry.

  " Очистить лог
  lo_log->remove_mes_from_heap( ).

  " Добавить системное сообщение
  message s001(bc) with 'USERNAME' into sy-lisel.
  lo_log->add_message( im_problemclass = space ).

  " Добавить сообщение с произвольным текстом
  lo_log->add_message_free_text(
    im_text = 'Text to Be Displayed.'
    im_msg_type = 'E'
    im_problemclass = '' ).

  " Добавить сообщение из exception
  try.
      data(lv_res) = 1 / 0.
    catch cx_root into data(lx_error).
      lo_log->add_exception( im_exception = lx_error ).
  endtry.

  " Добавить сообщение из структуры BAPIRET2
  " lo_log->add_bapi_return( im_bapireturn = value #( ) ).

  if lo_log->entries_in_log( )-msg_cnt_al > 0.
    " Сохранить
    " lo_log->save_to_db( ).
    " Показать на весь экран
    " lo_log->show_log_fullscreen( ).
    " Показать в модальном окне
    lo_log->show_popup( ).
  endif.

Комментариев нет:

Отправить комментарий