Nur zur Verdeutlichung, damit ihr versteht worums sinngemäß geht...so funktionierts leider nicht...Abap_Knirps hat geschrieben:so wirds vielleicht verständlicher:
Anstatt:
Tabelle-Lalala_1 = 110000.
Tabelle-Lalala_2 = 110000.
....etc.
So:
LOOP ...
INDEX = INDEX + 1.
concatenate 'Lalala_' INDEX INTO Test_1.
Tabelle-Test_1 = 110000.
ENDLOOP.
Code: Alles auswählen.
DATA:
BEGIN OF feldname,
* ergibt 'LALALA_n'
fix TYPE char7 VALUE 'LALALA_',
num TYPE n LENGTH 1,
END OF feldname,
* Arbeitsbereich für die Tabelle definieren (ist so besser lesbar)
wa_tabelle LIKE LINE OF tabelle.
FIELD-SYMBOLS:
* 'Zeiger' auf irgendein Feld
<fs> TYPE any.
LOOP AT tabelle INTO wa_tabelle.
* bestimme den aktuellen Index
index = index + 1.
* setze den Index in den beabsichtigten Feldnamen
feldname-n = index.
* Setze den 'Zeiger' auf das Strukturfeld 'WA_TABELLE-LALALA_n'
* damit bekommt das <fs> implizit den Typ von 'WA_TABELLE-LALALA_n'
ASSIGN COMPONENT feldname OF STRUCTURE wa_tabelle TO <fs>.
* wegen des gesetzten 'Zeigers' wird hiermit implizit die Anweisung 'WA_TABELLE-LALALA_n = <wert>' ausgeführt
<fs> = 110000.
* hier muss der Inhalt der Feldleiste 'wa_tabelle' mit MODIFY in die Tabelle 'tabelle' zurückgeschrieben werden
ENDLOOP.