Quais ferramentas podemos usar na análise de performance do ABAP ? Neste primeiro artigo da serie, vamos abordar a transação ST05, a mais simples de todas!

CARREIRA

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 :]

 

Sobre o Léo

LéoABAP

Ajudo você a entender, estudar e se tornar um Consultor ( Ou uma consultora ) SAP usando a programação ABAP!

PS: Amo Livros, Pizza e Coisinhas legais pra comprar na internet!

Deixe um comentário! Não seja chato!!!

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.