Léo ABAP

Ferramentas para auxiliar na análise de performance no ABAP

Fala Equipe linda, tudo bem com vocês?
Estou aqui para falar um pouco sobre análise e como podemos utilizar o próprio SAP para nos auxiliar na análise de performance em programas ABAP.

1. ST05 – Aqui vamos poder “ligar” um trace para nos mostrar o que um programa envia para o banco de dados para ser executado. O trace, nada mais é do que um “rastro” do que esta sendo executado em tempo real, de um programa ABAP, ou seja, este rastro nos mostrar o que o programa executou em relação a acesso a dados. Simples né? 🙂 Isso vai nos auxiliar para perceber o que esta errado com um programa, seja uma chave de tabela, que pode ser modificada para auxiliar na melhora da performance, seja um select sem where, etc, isso tudo vai ficar evidente pra você! Veja abaixo como é a tela deste programa de análise:

Quando “ligamos” este robozinho para ficar olhando os SQLs do seu código, devemos sempre clicar em “Active Trace with Filter”, pois se não ele vai ligar o Trace pra tudo que você executar e não só para uma transação ou programa especifico. A tela deste botão esta abaixo:

Aqui fica claro o que podemos “seguir” na execução das queries de SQL. Temos o mandante do sistema, o nome do usuário, qual é a transação que você irá executar, qual é o programa que vai ser analisado, qual função irá ser vista pelo programa! Algo curioso, é que podemos excluir o que não precisamos analisar!

Vamos criar um programa para realizar a analise dele, veja abaixo:

Simples, vamos selecionar a tabela de materiais e exibir o código de material!

Agora vamos executar o trace neste programa!

Ligando o trace para, na sequência, executar o programa! E depois vamos desligar o trace!

  • Clique em executar! Espero alguns intantes!

Quando finalizar, clique no botão “Deactivate trace”, para desligar o robozinho!

Para ver o que o programa gravou no trace, clique no botão Display Trace, veja a tela abaixo:

Feito isso, é exibida a tela de seleção dos traces que foram mapeados anteriormente, incluindo o seu que acabamos de rodar!

 

Pressione F8 ou clique no botão executar 

Na sequência um relatório é exibido, com o nome do nosso programa:

 

Reparem que o programa exibe qual é a tabela que foi executada na query!

Na coluna “Records”, percebemos quantos são os registros totais da tabela, neste caso são 21.550 produtos na MARA:

Então, quando tempo levou esse select? 1.904.035 milisegundos! 1.9 segundos 🙂 O que demorar mais, você faz a análise e veja se pode modificar a query para usar mais da chave da tabela! Usar index e outras técnicas de leitura de dados, que ficam para uma próxima!

Na coluna do lado, ele exibe qual é a query que o ABAP executou no banco de dados, repare que o ABAP muda o seu select para o mandante que a query foi executada, não é magia é ABAP Open SQL que é convertido pelo ABAP para o banco de dados instalado no servidor:

Então você poderá fazer as suas análises e começar a modificar os seus programas para tratar a performance de seleção de dados, vou falar mais sobre isso nos próximos artigos! Fique ligado.

Grande abraço!
LéoABAP :]

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.