|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Renaud CaussinSAP Inscription : février 2009 Messages : 52 ![]() |
Bonjour très chers amis sapiens,
Après cette très pompeuse formule de politesse, je me permet de vous soumettre une colle bien de chez bien. Lorsque je suis sur le debugger SAP, je peux retrouver le numéro de ligne sur laquelle je me situe. Ici : ![]() Sur cet exemple, la ligne actuelle est la 147. Et bien je voudrais pouvoir retrouver cette donnée à n'importe quel moment de l'exécution de mon programme, sans passer par le debug bien entendu. Peut-être grâce à un module de fonction ou bien à une méthode statique standard, ou peut-être grâce à une astuce dont vous auriez le secret... Pourriez-vous partager votre savoir avec moi svp ? Merci d'avance, |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Marianne ABAP Inscription : novembre 2008 Messages : 204 ![]() |
Salut
si j'ai bien compris tu voudrais stocker le n° de ligne? Dans un boucle il y a la valeur du sy-tabix il me semble (tu peux verifier en débug) ou sur une lecture (read table) il y a sy-index Par contre lorsque tu dis n importe ou dans le programme Attention, si tu ne stocke pas au bon moment tu peux avoir des suprises. Par exemple lors de boucle imbriquées la valeur va prendre le n° de ligne de la 1ere table lu, puis celui de la seconde table.
__________________
Pensez à récompenser les réponses utiles et au tag .
|
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() |
Salut,
Moi j'avais compris qu'il voulait le numéro de ligne dans le code source et non l'indice de table. Genre 147 c'est le numéro de la première ligne affiché dans le code source affiché, là où se situe le commentaire au dessus du SELECT qu'on voit. D'ailleurs la preuve, quand on appuie sur les flèches, ça permet de naviguer et le nombre est incrémenté/décrémenté. Au fait, pour info, pour les LOOP et les READ TABLE, c'est SY-TABIX. SY-INDEX c'est pour les DO et les WHILE. Personnellement, à moins d'aller lire directement le code source via READ REPORT, je ne vois pas.
__________________
Boaf...signature <= ça suffira ça ?? |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Marianne ABAP Inscription : novembre 2008 Messages : 204 ![]() |
Oups au temps pour moi je n'avais pas compris ça le nouveau debbugeur a du m'induire en erreur.
Alors en effet je ne vois pas comment savoir, sauf quand il y a un dump ou tu as le n° de ligne
__________________
Pensez à récompenser les réponses utiles et au tag .
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : août 2009 Messages : 226 ![]() |
Hello,
tu as 2 façons de faire : - Soit utiliser le module fonction SYSTEM_CALLSTACK (ce qui correspond à la "pile d'appels ABAP" que tu vois en débug) - Soit déclencher une exception objet bidon (classe ZCX_DUMMY que tu fais hériter de CL_STATIC_CHECK par exemple, sans rien ajouter de plus), que tu interceptes immédiatement (TRY. RAISE EXCEPTION TYPE zcx_dummy), et dans le CATCH (CATCH zcx_dummy INTO lx_dummy), tu appelles la méthode d'instance GET_SOURCE_POSITION (lx_dummy->get_source_position) où tu récupères le paramètre SOURCE_LINE. Sandra |
|
|
10
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Renaud CaussinSAP Inscription : février 2009 Messages : 52 ![]() |
Désolé, j'ai un peu laissé cette recherche de coté,
Que voulez-vous, les mises en prod, c'est toujours une aventure. Enfin, merci pour toutes vos réponses, je vais tester ça dés que j'aurai une minute. ![]() Je vous tiendrai au courant. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com