
1.2.1 Appel du débogueur
Il existe plusieurs moyens d’accéder au débogueur : de manière directe et indirecte.
Appel direct
Le débogueur peut être ouvert de quatre façons différentes. L’une des plus simples consiste à introduire un point d’arrêt directement dans un programme via l’éditeur ABAP (transaction SE38, par exemple) ou via une syntaxe ABAP, ou à l’appeler à n’importe quel moment. Concernant les points d’arrêt à indiquer dans le programme, il en existe deux types : le point d’arrêt de session ou le point d’arrêt externe.
Point d’arrêt de session
Point d’arrêt externe
Ces deux points d’arrêt se trouvent dans la barre d’outils de l’éditeur ABAP (transaction SE38) comme on peut le voir dans la Figure 1.2.

Comme son nom l’indique, le point d’arrêt de session est un point d’arrêt qui est exécuté dans la même session que le programme. Le schéma de la Figure 1.3 donne un aperçu de son fonctionnement.


Le point d’arrêt externe (voir Figure 1.5) permet d’effectuer un débogage lorsqu’un programme appelant vient d’un système externe (exemple lors du débogage d’un système FIORI sur un système ECC).


La Figure 1.6 schématise cet exemple avec des points d’arrêt de session dans la partie SAP ECC. Lors de l’exécution du programme FIORI, le débogueur ne s’ouvrira pas et le programme s’exécutera sans que l’on puisse en analyser le détail.

La Figure 1.7, quant à elle, schématise la même disposition, mais les points d’arrêt de session ont été remplacés par des points d’arrêt externes. Lors de l’exécution du programme FIORI, le débogueur pourra alors s’ouvrir sur les programmes ECC afin d’en analyser le contenu et le comportement.

Pour ouvrir le débogueur pendant l’exécution d’un programme, il est également possible d’utiliser la syntaxe ABAP BREAK-POINT, comme indiqué sur la Figure 1.8.

ll est possible de filtrer le point d’arrêt en ajoutant l’utilisateur SAP via la syntaxe BREAK
. Ainsi, le programme s’arrêtera uniquement pour l’utilisateur concerné (voir Figure 1.9).

Enfin, la dernière méthode, utilisable à n’importe quel moment, consiste à introduire « /h » dans la barre de commande. La Figure 1.10 donne un exemple sur la manière de procéder.

Figure 1.10 : Insertion de « /h » dans la barre de commande
Une fois la commande validée, un message apparaîtra pour avertir que le mode débogueur a été activé (voir Figure 1.11).

Figure 1.11 : Information de l’activation du débogueur
À partir de ce moment-là, tout action entreprise entraînera l’ouverture de la fenêtre du débogueur.
Appel indirect
Le débogueur peut être appelé indirectement lorsqu’une erreur survient lors de l’exécution d’un programme. Cette erreur de type critique s’appelle un dump. La Figure 1.12 en est un exemple.

Figure 1.12 : Fenêtre d’un dump
Il sera possible d’accéder au débogueur en appuyant sur le bouton ABAP Debuggerafin que l’éditeur ABAP puisse s’ouvrir et ainsi indiquer la ligne de code où se trouve le problème.

Autres
Certains outils sont un peu plus compliqués à déboguer et il faudra faire appel au débogueur d’une manière différente.
Tel est le cas concernant le débogage d’un job SAP : en lançant la transaction SM37 et en affichant la liste des jobs, il est possible de déboguer un job déjà exécuté en cochant sa ligne, puis en tapant JDBG
dans la ligne de commande SAP (voir Figure 1.13). Le débogueur s’ouvrira alors avec l’exécution du programme lié au job sélectionné.

Figure 1.13: Exécution du débogueur pour un job