Contexte
Vous faites face à des problèmes de performances depuis une application externe mais une trace SQL à travers la ST05 ne vous remonte rien d'alarmant. Vous souhaitez vérifier les temps de réponse au niveau ABAP mais comme il ne s'agit pas d'une transaction/programme du SAP GUI vous ne pouvez pas effectuer une trace à travers la SAT.
La transaction SAT, abréviation de "SAP Application Tracing," est un outil puissant au sein de l'écosystème SAP. Son principal objectif est de permettre la surveillance, l'analyse et l'optimisation des performances des applications ABAP. Grâce à SAT, les développeurs SAP peuvent capturer des informations détaillées sur l'exécution des programmes ABAP, telles que les temps d'exécution, les lectures de base de données, et bien plus encore. Cette visibilité accrue est essentielle pour identifier et résoudre les problèmes de performance, réduire les goulots d'étranglement, et améliorer l'efficacité globale des processus SAP. En résumé, la transaction SAT joue un rôle crucial dans l'optimisation continue des applications ABAP, contribuant ainsi à maintenir un environnement SAP performant et efficace.
La transaction SAT présente un léger inconvénient. On ne peut lancer qu'une transaction, un programme ou un module fonction en "dialog mode".
Comment faire pour une trace depuis une application externe comme une application SAPUI5 ?
Dans cet article, nous allons explorer une solution astucieuse étape par étape pour effectuer une trace ABAP exploitable à travers la SAT sur une application SAPUI5, vous permettant d'identifier les axes d'améliorations de performance du backend.
Procédure
La première étape consiste à identifier le point d'entrée de l'application externe qui m'intéresse. Dans mon exemple, je vais partir sur un service OData appelé depuis une application SAPUI5. Mais cela peut également être un module fonction RFC.
Une fois mon point d'entrée identifié, je pose un point d'arrêt externe sur la ligne de code qui m'intéresse :
Maintenant je peux maintenant lancer l'action depuis mon application SAPUI5 pour entrer dans le mode débogage.
Une fois dans le mode débogage, je clique sur le bouton "New Tools" :
Une fois le menu ouvert, je clique sur "Special Tools" puis sur "Trace (SE30/ST05)".
La transaction SE30 correspond à l'ancienne version de la transaction SAT. Les résultats de la transaction SE30 sont visibles et utilisables dans la transaction SAT.
Un nouvel onglet "Trace Management" s'ouvre dans le mode débogage. Il suffit d'activer les types de trace qui m'intéressent. Dans mon exemple, je n'activerai que la trace ABAP.
Je peux avancer dans mon débogage jusqu'à la fin en pressant la touche F8 par exemple.
Une fois le débogage terminé, je peux accéder à la transaction SAT et récupérer le résultat de ma trace.
Il ne me reste plus qu'à analyser le résultat de ma trace pour identifier les temps de réponse les plus long.