Laufzeitfehler 'Table_invalid_index"

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Laufzeitfehler 'Table_invalid_index"

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Hallo,

ich erhalte beim Nachlesen eines Materialtextes und beim Einfügen in eine interne Tabelle, einen Laufzeitfehler "Table_invalid_index". Anbei schicke ich mal den Code. Das Problem besteht denke ich mit der Zeile
"modify t_data INDEX sy-tabix FROM wa_it_data", setze ich diese nach dem LOOP-Ende, funktioniert das Programm, es wird aber beim Ergebnis nur der Materialtext der ersten Zeile ausgegeben, bei allen anderen Zeilen ist die Spalte leer. Deswegen gehört das modify in den Loop, nur dann kommt der Fehler. Sitze hier schon länger dran und bin mehr als ratlos. :?
Danke für Eure Hilfe:


LOOP AT t_data INTO wa_it_data.

IF wa_it_data-tdname NE space.

* ermitteln der Materiallangtexte mit Funktionsbaustein 'READ_TEXT'
CALL FUNCTION 'READ_TEXT'

EXPORTING
client = sy-mandt
id = '0001'
language = 'D'
name = wa_it_data-tdname
object = 'VBBP'

IMPORTING
header = textkopf
TABLES
lines = texttab
EXCEPTIONS
not_found = 1
OTHERS = 2.

IF sy-subrc = 0. "kein Fehler aus der Funktion

LOOP AT texttab.
*mehrere Zeilen in Texttabelle möglich, erstmal nur Zeile 1 abfragen
CASE sy-tabix.
WHEN 1. g_erstetextzeile = texttab-tdline.
WHEN OTHERS. EXIT. "den Rest ignorieren
ENDCASE.
MOVE g_erstetextzeile TO wa_it_data-ersttext.
ENDLOOP.

MODIFY t_data INDEX sy-tabix FROM wa_it_data.
ENDIF.
ENDIF.
ENDLOOP.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Hallo mip,

sy-tabix wird im zweiten Loop auf texttab verändert und passt darum nicht mehr zum Modify der tabelle t_data. Du müßtest dir Sy-tabix unmittelbar nach loop at t_data in einem Hilfsfeld merken und dann den Modify mit dem Hilfsfeld als index ausführen

mfg dele

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Ohne dein Problem jetzt weiter zu prüfen hier ein recht einfacher weg

field-symbols <ft> type line of t_data.

loop at t_data assigning <ft>.

* MOVE g_erstetextzeile TO wa_it_data-ersttext
<ft>-ersttext = g_erstetextzeile.
endloop.

Damit benötigts du das Modify nicht mehr und die Tabelle wird direkt geändert.

Schönes Wochenende.

Thomas

Beitrag von mip (ForumUser / 48 / 0 / 2 ) »
Super, vielen Dank für eure Hilfe. Beide Tips waren sehr hilfreich. :D
Viele Grüsse
mip

Seite 1 von 1

Vergleichbare Themen

7
Antw.
4731
Views
Interne Table modifizieren durch Index
von Chamberlin » 02.04.2015 16:29 • Verfasst in ABAP® für Anfänger
0
Antw.
2383
Views
1
Antw.
971
Views
<***INVALID***> gepacktes Feld Export/Import
von Sn0rr3 » 19.10.2022 17:42 • Verfasst in ABAP® Core
2
Antw.
2061
Views
laufzeitfehler bei join
von OliverK185 » 19.06.2007 10:48 • Verfasst in ABAP® Core
6
Antw.
8939
Views
Laufzeitfehler - Ursache?
von ralf.wenzel » 18.04.2008 10:29 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.