[metaslider id="1643"]

2.1   Barre d’outils

La barre d’outils du débogueur se compose des fonctions représentées sur la Figure 2.2 :

Figure 2.2 : Barre d’outils

En détail, voici les fonctionnalités de cette barre d’outils avec les raccourcis clavier associés.

2.1.1/ Etape individuelle F5

Cette fonction permet d’avancer ligne par ligne dans le programme. Prenons l’exemple du programme ci-dessous pour comprendre ce que fait cette fonctionnalité.

1   START-OF-SELECTION.
2  
3     IF p_werks IS NOT INITIAL.
4
5       PERFORM get_data.
6
7       IF NOT gt_data[] IS INITIAL.
8
9         LOOP AT gt_data ASSIGNING .
10
11         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
12             EXPORTING
13               input  = -matnr
14             IMPORTING
15               output = -matnr.
16
17         CALL SCREEN 100.
18
19       ENDLOOP.
20     ENDIF.
21   ENDIF.

Si un point d’arrêt est défini à la ligne 3, en cliquant sur l’icône Étape individuelle ou en utilisant le raccourci clavier F5, le programme avancera à la prochaine ligne de code, soit la ligne 5. En réappuyant sur F5, le programme avancera de nouveau à la ligne suivante. Comme il s’agit de PERFORM, le programme entrera dans cette routine et il sera ensuite possible de continuer à l’exécuter pas à pas. De même, en arrivant à la ligne 11, le programme entrera dans la fonction où il sera également possible de continuer pas à pas.

2.1.2/ Exécuter F6

Cette fonction est similaire à la fonction précédente, mais elle ne rentrera pas dans le détail d’un appel d’objet tel qu’une routine, une fonction, une classe, etc.

Avec l’exemple précédent et un point d’arrêt à la ligne 3, en cliquant sur l’icône Exécuter ou en passant par le raccourci clavier F6, le programme avancera à la ligne 5.Si l’on appuie de nouveau sur F6, au lieu d’entrer dans la routine, il accédera directement à la ligne 7. De même, une fois à la ligne 11, le programme passera la fonction pour accéder directement à la ligne 17.

2.1.3/ Retour F7

La fonctionnalité Retour ou le raccourci clavier F7 permettent de revenir à l’étape inférieure du programme.

Dans le débogueur, il est possible de voir toutes les étapes par lesquelles le programme est passé.La Figure 2.3 est un exemple d’une pile ABAP (liste de programmes en cours d’exécution – voir section 3.2.2). Le programme se situe à l’étape 9 de la méthode GET_PARAMETERS de la classe CL_SALV_CSQ_PARAMS_DB.

Si l’étape 9 ne paraît pas intéressante, et que l’on souhaite poursuivre l’analyse à l’étape 8, la fonction de F7 permet de revenir à l’étape précédente.

Rappelons que le fait de revenir en arrière ne signifie pas que le code de l’étape quittée n’a pas été traité.

2.1.4/Suite F8

La fonctionnalité Suite ou le raccourci clavier F8 permettent de terminer l’exécution du programme et de sortir du débogueur pour arriver au résultat final. Si un point d’arrêt a été placé un peu plus loin dans l’exécution du programme, il s’arrêtera de nouveau au point défini. Cette fonctionnalité permet, dans l’analyse de programmes complexes, de passer de nombreuses étapes très rapidement.

La figure 2.4 représente les différents types d’exécution du débogueur.

2.1.5/Modifier incrément du déboggage Ctrl + Maj + F10

Lorsque le programme contient une condition IF composée de plusieurs conditions, par défaut le débogueur vérifie si tout le bloc est valide. Avec l’option d’incrément, il est possible de vérifier chaque étape de la condition.

Dans la Figure 2.5, le débogueur vérifie d’abord la première étape ; si elle est validée, il passe à la seconde et ainsi de suite. Il est donc possible de cibler plus facilement le problème lorsqu’une condition est incorrecte.

Figure 2.5 : Exemple du débogueur avec l’option Incrément

2.1.6/Créer un point d’arrêt F9

Un point d’arrêt peut être défini selon plusieurs critères :

Instruction ABAP

Il suffira de définir une syntaxe pour que le programme s’arrête.

Méthode

Il faut définir ici si il s’agit d’une classe SAP (standard ou spécifique) visible via la transaction SE 24, s’il s’agit d’une classe locale, visible uniquement dans le programme en cours d’exécution, ou s’il s’agit d’une classe locale définie dans une autre classe, comme représenté sur la Figure 2.7.

Fonction

Même comportement que les méthodes mais avec des modules de fonction.

Comme indiqué sur la figure 2.8, il est possible d’ajouter une condition au point d’arrêt.

© 2025 www.sapworld.net site crée par Thomas Billoir