A Análise de Tempo de Execução ABAP (transação SE30) é o melhor ponto de partida se você deseja executar análises de desempenho ou fluxo do seu programa ABAP. Infelizmente, muitas pessoas usam a Análise de Tempo de Execução ABAP apenas para procurar gargalos de desempenho e não sabem que o ABAP Trace é a única ferramenta com a qual você pode rastrear o fluxo de execução de um programa ABAP em nível de sentença. Este blog mostrará como usar o ABAP Trace da Análise de Tempo de Execução ABAP (SE30) para seguir a lógica de fluxo do seu programa ABAP.
1. Por que analisar o fluxo de um programa ABAP?
A Análise de Tempo de Execução ABAP (transação SE30) fornece uma ferramenta para resolver dois problemas. Você pode medir o desempenho e encontrar gargalos. Você também pode analisar o fluxo do programa do seu programa ABAP. Neste blog, vamos nos concentrar na análise do fluxo do programa.
Por que você precisa analisar o fluxo do programa ABAP? Deixe-me dar apenas alguns exemplos. Primeiro, você pode precisar encontrar a localização exata do código-fonte de uma sentença ABAP específica (uma chamada de método, chamada de função...) na qual você está interessado. Então você executaria o ABAP Trace e procuraria a linha necessária na lista de resultados das sentenças ABAP. Segundo, você pode querer comparar o fluxo do seu programa ABAP em diferentes sistemas. Imagine, por exemplo, que seu programa ABAP é executado conforme o esperado no sistema de teste, mas mostra um comportamento completamente diferente no sistema de produção, ou pior, é abortado com um despejo de memória no sistema de produção. Então você simplesmente poderia executar o ABAP Trace em ambos os sistemas de teste e produção e comparar os resultados do rastreamento.
2. Como encontrar a linha exata do código-fonte de uma sentença ABAP?
Apenas imagine, você vai para o Editor ABAP (transação SE38), digita "XXX" no campo "Programa", pressiona o botão "Mostrar" e recebe a mensagem de erro na barra de status "O programa XXX não existe". Como você poderia encontrar a linha exata do código-fonte da sentença ABAP que gerou a mensagem?
Você poderia, é claro, iniciar o Depurador ABAP e tentar depurar passo a passo. E então, após horas ou semanas de depuração intensiva, você poderia ter a sorte de encontrar a linha de código-fonte da sentença ABAP. Mas por que perder tempo? Aqui está como usar a Análise de Tempo de Execução ABAP para encontrar essa mensagem de erro em questão de minutos.
Se você pressionar o botão "?" ou clicar na barra de status perto da mensagem de erro, verá a ajuda F1 sobre a mensagem, no assistente de desempenho. Isso informa que o número da mensagem de erro é DS017. Portanto, você deve procurar a "mensagem DS017":
Para encontrar a mensagem, primeiro inicie a Análise de Tempo de Execução ABAP e crie uma variante de medição.
-
Inicie a Análise de Tempo de Execução ABAP (transação SE30) através de
Sistema -> Utilitários -> Análise de Tempo de Execução -> Executar
ou chame diretamente a transação com
"/nse30
".
-
Digite
"SE38"
no campo "Transação".
-
Crie uma variante de medição para o seu usuário:
-
Digite um nome no campo "Variante" e pressione o botão "Criar"
-
Defina a agregação em "Nenhum" na aba "Duração/Tipo"
-
Para informações sobre o uso de memória, marque a caixa "Com uso de memória"
-
Ative "Unidades particulares" na aba "Programa (Partes)"
-
Salve sua variante
Antes de prosseguir, algumas notas