
ABAP debugger : Introduction
Je sais ce que vous allez vous dire. De façon générale, le mot « ABAP debugger » peut faire peur. D’ailleurs, c’est quoi ce mot barbare ? De fait, pourquoi ABAP debugger et en quoi est-ce utile ?
À vrai dire, cela provient de l’anglais « To debug », qui pourrait se traduire en français par le mot « Déboguer ». En réalité, cela ne vous aide pas beaucoup plus je parie… OK.
Pour commencer, quel consultant ne s’est jamais retrouvé face à ceci :

En effet, nul doute que la première fois que cela nous arrive, nous sommes un peu perdu…
Lorsqu’un développeur crée un programme, malgré toute l’aide disponible, que ce soit des contrôles de syntaxe ou encore des vérifications du logiciel lors de la compilation de celui-ci, il arrive régulièrement que tout ne soit pas parfait, et que certains problèmes n’ont pas été envisagé.
Ainsi, il est indéniable que l’ABAP debugger est avant tout un outil destiné aux développeurs, pour les aider à éviter ce genre de messages, qu’on appelle « Dump« . En effet, c’est un outil très important qui permet d’analyser les programmes ABAP pour corriger les erreurs.
Néanmoins, nous allons voir ensemble à quel point cet outil peut s’avérer utile pour tout consultant SAP et surtout, nous allons voir comment l’utiliser. Effectivement, l’ABAP debugger pour aussi être utilisé pour analyser mais surtout comprendre les programmes déjà existants.
De plus, il est à noter que SAP propose 2 debugger : le classique et sa nouvelle version. Par ailleurs, nous ne traiterons ensemble que cette nouvelle version, disponible depuis SAP NetWeaver 2004.
D’abord, rendons-nous dans l’interface de l’ABAP debugger. À cette fin, il existe plusieurs moyens d’y accéder :
ABAP debugger : Accès
Afin de pouvoir y accéder, il faut se rendre dans la transaction SE80 : Repository Browser. Ici, vous pouvez sélection un programme par exemple, puis faire :
En vous rendant dans la transaction SM37 (Job overview), vous pouvez chercher un job pour simuler son exécution en mode debug. Pour cela :
Concernant les différents programmes, méthodes, fonctions modules, … il est possible de lancer l’ABAP debugger en plaçant un Breakpoint. Nous reviendrons sur ce terme un peu plus tard mais simplement, ce point va permettre de lancer le debugger lors de l’exécution du programme
A la prochaine exécution du programme, le debugger s’ouvrira
Lorsque vous vous trouvez dans une transaction, indiquez /h et appuyer sur « Enter ».
SAP vous indiquera alors le message suivant :
ABAP debugger : Layout
Ainsi, nous voilà dans notre ABAP debugger. Il se présente comme suit :
1. Exécution du programme
En effet, lorsque le programme est en mode « run », une petit flèche jaune indique la position actuelle dans laquelle vous vous trouvez. Il faut savoir qu’à cette ligne, l’opération n’a pas encore été exécutée.
Puis, pour se déplacer dans le code, il existe plusieurs moyens :
Single Step
La prochaine opération sera exécutée, puis SAP s’arrêtera.
Raccourci clavier : F5
Execute
La prochaine opération sera exécutée. Attention, si le curseur se situe en face d’un block (tel qu’une routine, un fonction module, etc.), celui-ci sera entièrement exécuté. SAP s’arrêtera ensuite.
Raccourci clavier : F6
Return
Le block en cours (tel qu’une routine, un fonction module, etc.) sera entièrement exécuté. SAP retournera alors dans le code ayant appelé le block exécutable.
Raccourci clavier : F7
Continue
Process le code jusqu’au prochain Break point / Watchpoint. S’il n’y en a pas / plus, le programme sera exécuté en entier et le debugger se fermera.
Raccourci clavier : F8
Go to statement
Il est possible de se déplacer à un endroit bien précis dans le code. Pour déplacer le curseur à l’endroit désiré, effectuez un clic droit sur l’opération désirée et choisissez : Goto Statement. Votre curseur se déplacera alors à cet endroit.
2. Les différentes présentations / desktop
Tout d’abord, notons que SAP propose à l’utilisateur plusieurs choix de présentation du debugger. En effet, nous pouvons distinguer 3 Desktop différents, ainsi qu’une présentation standard. En fait, SAP va simplement disposer les menus de manière différente, en fonction de votre choix. Voici 2 exemples :
Desktop 1
Desktop 3
3. Zone des variables
En vue d’accéder aux différentes variables présentes dans le programme, SAP propose cette zone de travail. Décortiquons ensemble les différents menus :
4. Le code source
Pour terminer la présentation du layout, abordons rapidement le code source présent dans le debugger.
Nul doute que cette partie est extrêmement importante puisque celle-ci vous indiquera en permanence où se situe SAP, ce qu’il compte faire ensuite, quelles sont les étapes qui ont été sautée lors de l’exécution du programme, etc.
Ainsi, il est d’une importance capitale pour vous de comprendre cette zone, et surtout, de savoir vous déplacer dans celle-ci.
Partant de ce fait, SAP vous met à disposition plusieurs outils. Voyons cela ensemble.
ABAP debugger : Breakpoint et Watchpoint
Désormais, nous allons utiliser ces outils pour forcer le debugger à s’arrêter à des endroits précis. Commençons par définir ces 2 notions :
Breakpoint
En premier lieu, un Breakpoint est défini pour que le programme s’arrête à cet endroit précis. En effet, il existe plusieurs moyens de placer un Breakpoint mais, peu importe le moyen utilisé, SAP s’arrêtera à ce dernier lors de son exécution.
Watchpoint
En second lieu, au contraire d’un Breakpoint utilisé pour s’arrêter à un endroit précis, un Watchpoint est utilisé pour monitorer une variable. Ainsi, lorsque cette dernière change de valeur, le debugger s’arrête.
1. Breakpoint
À vrai dire, il existe plusieurs types de Break point. En effet, ils peuvent avoir plusieurs utilités et plusieurs durées de vie.
Désormais, voyons comment placer un Breakpoint dans le but d’arrêter le debugger.
Premièrement, placez votre curseur sur la colonne, à gauche de la ligne de programme pour laquelle vous désirez insérer un Breakpoint, et effectuez un clic gauche.
Deuxièmement, toujours avec votre curseur, effectuez un clic droit, et choisissez le type de Breakpoint désiré.
Troisièmement, pendant le debug, rendez-vous dans le menu destiné aux breakpoints.
Ainsi, vous pouvez choisir à quel endroit vous désirez placer d’autres Breakpoints.
2. Watchpoint
Comme vu précédemment, un Watchpoint est utilisé pour scruter les changements d’une variable bien précise.
À savoir qu’un Watchpoint ne peut être défini que pendant une session de debug.
Ainsi, pour créer un Watchpoint, suivez ces étapes :
Alors, une boîte de dialogue apparaît.
Ensuite, vous devez renseigner la variable à analyser. Une fois placé, en utilisant le raccourci clavier F8 ou le bouton « Continue », SAP déroulera le programme jusqu’à ce que la valeur de cette variable change, ou jusqu’à terminer le programme si cette dernière ne varie pas.
ABAP debugger : Conclusion
À la suite de cet article, vous aurez eu un aperçu des possibilités qu’offre cet outil extrêmement utile qu’est le debugger.
Que ce soit en tant que développeur ABAP, ou consultant fonctionnel, il vous sera indispensable de maitriser sur le bout des doigts celui-ci.
En vérité, nous n’avons que survolé ensemble ses fonctionnalités. En effet, il se veut des plus complet et permet d’effectuer encore bien d’autres tâches.
Vous souhaitez accéder à l’ensemble de notre bibliothèque de formations SAP en illimité ? Testez gratuitement notre plateforme de formation pour une période d’essai de 7 jours.
Michael Antoine
Consultant SAP technico-fonctionnel, expert WM (Warehouse Management) et eWM (extended Warehouse Management).
Artur ABAP BLOG
Thank you for your article, it was useful. I add some info in video https://youtu.be/Z3DrxDoFSME maybe it also will be useful! Thanks!
keyusertraining@gmail.com
Thank you Artur for your comment and the useful ressources you provide!