Parfois ABAP me rend fou des tâches très simples telles que incrémenter un entier dans une boucle ...Incrémenter un entier
Voici mon essai:
METHOD test.
DATA lv_id TYPE integer.
lv_id = 1.
LOOP AT x ASSIGNING <y>.
lv_id = lv_id+1.
ENDLOOP.
ENDMETHOD.
Il en résulte dans le message d'erreur Type de champ "I" ne permet pas l'accès au sous-champ.
Merci, très utile! – Ben
Méfiez-vous des boucles dans les boucles. Oh, et si vous êtes en boucle avec un 'DO..TIMES x', alors le compteur de boucle sera' SY-INDEX'. Oui, ABAP est un langage terriblement incohérent. – Marius
SY-TABIX ne contient pas le compteur de boucles, il contient l'index de la table. Ce sont souvent des valeurs différentes. Par exemple, si j'écris 'messages LOOP AT dans msg WHERE type = 'E', la première fois que la boucle s'exécute peut être sur la quatrième ligne, et la valeur de sy-tabix sera 4. – Eric