Skip to content

edmilson-nascimento/Application-log-SAP-ABAP

Repository files navigation

Application Log

N|Solid Depois de alguns anos e muita chatice tenho ficado cada vez mais resistente quando alguem me pede para fazer uma Tabela de Log para um processo X. Minha resposta sempre é: você sabia que o SAP tem seu proprio controle de Log sem a necessidade de criar tabelas novas? Resolvi fazer minha implementação do Maravilhos mundo do Application log. Existem varias utilizações do Application Log (ou mais conhecido como Bal Log), ate mesmo no wiki scn tem alguns exemplos bem exemplicaficados de como utilizar. Para mais exemplos implementados, pode acessar ate na Transação SE38 com o filtro SBAL_DEMO_* que tem uma grande quantidade de aplicações para a solução.

Fiz uma implementação para que pudesse usar a solução das duas formas possiveis:

A diferença de implementação é bem simples, então, resolvi fazer de forma a deixar dinamico. Fiz um a classe zcl_bal_log para melhorar a utilização das funções que contemplam o log. Sendo assim, as utilizações diferente ficam a cargo apenas de usar de forma diferente o método constructor, como mostrado nos exemplos abaixo.

1- Salvando Log de forma a visualizar pela SLG1

Antes de qualquer coisa, para que os log's sejam salvos, é necessários criar um objeto (caso ainda não tenha sido criado) e um sub-objeto na transação SLG0. Esses mesmos objeto e sub-objeto são utilizados para consultor os log's na transação SLG1. Não tem nesse exemplo, mas a implementação segue abaixo.

data:
  app_log type ref to zcl_bal_log.

  create object app_log
    exporting
      title     = 'Titulo do Log'
      object    = 'Z_OBJECT'
      subobject = 'Z_SUBOBJECT'
      alprog    = sy-cprog.

2- Armazenando em tempo de execução e exibindo ao final do processo

Eu uso, em grande parte das vezes, a utilização sem salvar o log. Um dos pontos mais interessantes para a utilização é a forma variada de exibir essa mensagem. Como é mostrado no post do scn, tem varias forma que as proprias funções do Application Log podem mostrar as mensagens de acordo com a melhor opção para solução. Para criação de objeto, deve ser feita da mesma forma que esta no exemplo, conforme modelo abaixo. Ao deixar de informar os valores, a solução ja entende a finalidade de suas mensagens.

data:
  app_log type ref to zcl_bal_log.

  create object app_log
    exporting
      title     = 'Titulo do Log'
*     object    = 
*     subobject = 
      alprog    = sy-cprog.

Simples, objetivo e sem necessidade de ficar criando novas tabelas. 👍

Releases

No releases published

Packages

No packages published

Languages