К основному контенту

Чтение журнала приложений

Ниже описан код формы, которая читает сообщения из системного журнала приложений


FORM log_test USING begda TYPE sydatum
                    endda TYPE sydatum.
 
  FORMAT COLOR COL_BACKGROUND.
 
  DATA:
    bal_t_msgh TYPE bal_t_msgh,
    balhdr_t TYPE balhdr_t,
    bal_s_msg TYPE bal_s_msg ,
    balmsghndl TYPE balmsghndl,
    text TYPE text200.
  DATA: wa_balhdr LIKE balhdr.
 
  TYPES: BEGIN OF t_message
    , icon TYPE iconname
    , text TYPE text200
    , END OF t_message.
 
  TYPES: t_mes TYPE TABLE OF t_message.
 
  DATA: wa_mes TYPE t_message.
 
  DATA: BEGIN OF jornal OCCURS 2
    , messages TYPE t_mes
    , END OF jornal.
 
  CLEAR jornal. REFRESH jornal.
 
  DATA: it_balhdr LIKE balhdr OCCURS 1 WITH HEADER LINE.
  SELECT * FROM balhdr INTO wa_balhdr WHERE aldate BETWEEN begda AND endda AND object EQ 'IUCSPROD'.
 
    REFRESH balhdr_t.
 
    APPEND wa_balhdr TO balhdr_t.
 
    CLEAR bal_t_msgh. REFRESH bal_t_msgh.
    CALL FUNCTION 'BAL_DB_LOAD'
      EXPORTING
        i_t_log_header = balhdr_t
      IMPORTING
        e_t_msg_handle = bal_t_msgh.
 
    REFRESH jornal-messages.
 
    LOOP AT bal_t_msgh INTO balmsghndl.
 
      CALL FUNCTION 'BAL_LOG_MSG_READ'
        EXPORTING
          i_s_msg_handle = balmsghndl
        IMPORTING
          e_s_msg        = bal_s_msg
          e_txt_msg      = text.
 
      CLEAR wa_mes.
 
      IF bal_s_msg-msgty EQ 'A'.
        wa_mes-icon = '@8N@'.
      ELSE.
        wa_mes-icon = '@5B@'.
      ENDIF.
 
      wa_mes-text = text.
      APPEND wa_mes TO jornal-messages.
 
    ENDLOOP.
    APPEND jornal.
  ENDSELECT.
 
  LOOP AT jornal.
    LOOP AT jornal-messages INTO wa_mes.
      WRITE: / wa_mes-icon, wa_mes-text.
    ENDLOOP.
    WRITE: /.
  ENDLOOP.
 
ENDFORM.                    " LOG_TEST

Комментарии

Популярные сообщения из этого блога

Прямые ссылки на файлы Google диска

В предыдущей статье я рассказал, как подключить свой JavaScript файл к блогу BLOGSPOT . Но для того, что бы их подключить нужны прямые ссылки на файл, а Google диск при предоставлении общего доступа к файлу выдает ссылку на предварительный просмотр, которая никак напрямую не ссылается на файл. Для Google диска прямая ссылка на файл - это ссылка на скачивание. Ниже описаны два способа создания ссылки на скачивание на примере файла prism.js.

События для ведения таблиц

Как и всегда, в пылу проекта внезапно родилась Z табличка. Главный нюанс был в том, что она должна была хранить пароли для авторизации на стороннем сервере. Естественно, никто не хотел хранить пароли в открытом виде, а двустороннее шифрование SAP не умеет без сторонних пакетов и надстроек. Далее, все как обычно - придумали алгоритм, сделали табличку. Дело осталось за малым - нужно шифровать пароли, которые вводит пользователь. Делать отдельную программу нет смысла, поскольку ее функционал мало чем будет отличаться от сгенерированного. Вот здесь на помощь приходят события! С их помощью можно, наверное, все. По крайней мере, я не нашел чего-либо, что нельзя сделать с данными через события.

OOP ALV GRID с HTML шапкой

В этой статье хочу постараться подробно описать и привести пример, как можно создать ALV отчет с таблицей на весь экран и с HTML шапкой вверху. Я не буду описывать начальный этап, где пишется селекционный экран или делается выборка данных. Будем считать, что основа у нас есть и нам нужно просто вывести данные. Главной изюминкой является то, что нужно вывести ALV GRID на экран без использования каких-либо дополнительных элементов на экране. Step-By-Step Шаг 1. Создание окна Создаем самое простое окно с номером 100. На него не нужно кидать никаких контейнеров. Оно нам нужно только для модулей PAI и PBO и вывода на него ALV GRID.