Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > ERP > SAP
SAP Forum d'entraide sur SAP et sur la programmation avec le langage ABAP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 16h30   #1
Nouveau Membre du Club
 
Renaud Caussin
SAP
Inscription : février 2009
Messages : 52
Détails du profil
Informations personnelles :
Nom : Renaud Caussin
Âge : 24
Localisation : Belgique

Informations professionnelles :
Activité : SAP
Secteur : Industrie

Informations forums :
Inscription : février 2009
Messages : 52
Points : 33
Points : 33
Par défaut Numéro de ligne OU la colle du mois.

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,
thedevilmaycry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 20h15   #2
Membre actif
 
Avatar de beuzy
 
Femme Marianne
ABAP
Inscription : novembre 2008
Messages : 204
Détails du profil
Informations personnelles :
Nom : Femme Marianne
Âge : 27
Localisation : France

Informations professionnelles :
Activité : ABAP

Informations forums :
Inscription : novembre 2008
Messages : 204
Points : 175
Points : 175
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 .
beuzy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 09h46   #3
Membre expérimenté
 
Avatar de Celdrøn
 
Homme Celdrøn Valdersen
Consultant SAP
Inscription : juillet 2007
Messages : 438
Détails du profil
Informations personnelles :
Nom : Homme Celdrøn Valdersen
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : juillet 2007
Messages : 438
Points : 579
Points : 579
Envoyer un message via MSN à Celdrøn
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 ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 10h16   #4
Membre actif
 
Avatar de beuzy
 
Femme Marianne
ABAP
Inscription : novembre 2008
Messages : 204
Détails du profil
Informations personnelles :
Nom : Femme Marianne
Âge : 27
Localisation : France

Informations professionnelles :
Activité : ABAP

Informations forums :
Inscription : novembre 2008
Messages : 204
Points : 175
Points : 175
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 .
beuzy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2012, 16h11   #5
Membre confirmé
 
Inscription : août 2009
Messages : 226
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 226
Points : 239
Points : 239
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
sandraros est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/01/2012, 11h34   #6
Nouveau Membre du Club
 
Renaud Caussin
SAP
Inscription : février 2009
Messages : 52
Détails du profil
Informations personnelles :
Nom : Renaud Caussin
Âge : 24
Localisation : Belgique

Informations professionnelles :
Activité : SAP
Secteur : Industrie

Informations forums :
Inscription : février 2009
Messages : 52
Points : 33
Points : 33
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.
thedevilmaycry est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h40.


 
 
 
 
Partenaires

Hébergement Web