sábado, 2 de maio de 2015

Seis maneiras de encontrar o código fonte com uma mensagem de erro.


Olá pessoal,

eu vou colocar neste post, seis formas de encontrar o código fonte quando se tem uma mensagem de erro. Quando isto acontece em uma transação standard, ajuda muito.
Vamos simular o erro na transação SE38, ao tentar editar um programa inexistente.



Primeira forma : Usar a função "Where used list" no abap workbench.

Dê um click na mensagem de erro apresentada no rodapé. Vai ser exibido a mensagem de erro, com sua classe e número da mensagem de erro.



Veja na SE91 a mensagem.



Ao clicar no "pé de galinha", será exibido uma listagem com os programas que utilizam esta mensagem.



Aqui eu começo à fazer um filtro manualmente. Vou dar um duplo click no programa e ele vai exibir a mensagem do lado esquerdo. Posso colocar um ponto de parada na
linha da mensagem e confirmar no debug. Veja na figura abaixo:




Segunda forma : Use um watchpoint para observar o sy-msgid no abap debugger.

Digite /h na área de comando e click no botão exibir para disparar o debugger.



Crie um watchpoint como na figura abaixo. Neste caso, duas paradas. Após click em F8, o programa vai parar na linha de parada desejada.




Terceira forma : A influência do tipo de breakpoint "Abap Comands" para um debug mais eficiente.

Criar um breakpoint dinâmico com o comando = MESSAGE. O debug vai parar em todas as linhas em que conter o comando MESSAGE.




Quarta forma : Procurando no próprio código fonte.

Entre na transação SE93. Preste atenção no pacote que está abaixo da SE38. Veja na figura abaixo:



Então abra uma outra seção e entre na transação SE38. Execute o programa RS_ABAP_SOURCE_SCAN e preencha o critério abaixo.



No nosso caso, foram encontrados 4 resultados:



Você também pode usar uma outra alternativa. A transação CODE_SCANNER, no qual você terá o mesmo resultado. Veja:




Quinta forma : Utilizando o Abap Runtime Analysis.

Entre na transação SAT, crie uma nova variante. Na tela, marque a opção "Aggregation - None".




Após executar a transação, vai aparecer a tela com o resultado do processamento. Vá até o binóculo e click. Na caixa de texto, digite MESSAGE. Ele vai exibir
as linhas com a mensagem.



Sexta forma : Usando a transação ST05.

Abra uma seção e digite SE38. Coloque o nome inválido do programa, mas não execute ainda. Abra uma outra seção e digite a transação ST05. Volte à transação SE38 e
execute. Volte para o seu TRACE na ST05, desative e exiba o resultado.




Espero que estas dicas possam ajudar você no dia a dia. Eu uso muito, principalmente em debug Standard.







Nenhum comentário: