in einer interne Tabelle möchte ich eine Spalte mit Daten (Laufendenummer) hinzufügen. wenn ich die Struktur von der interne Tabelle ändere, die Daten, die schon in der interne Tabelle sind verschieben sich.
Bei HH_ABAP ist es häufiger mal ein Ratespiel, was er eigentlich möchte. Ich verstehe es so, dass nicht das Nummerieren das Problem ist, sondern das Aufnehmen von Daten in die Tabelle mit Laufender Nummer, weil die Quelle der übrigen Daten das Feld Laufende Nummer nicht kennt.
@HH_ABAP :
Ich würde vermuten, dass es reichen müsste das Feld Laufende Nummer hinten anzuhängen oder aber mit move-corresponding bzw. select into corresponding zu arbeiten.
Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag: HH_ABAP
Ich denke eher, dass HH_ABAP sich auf meinen Tipp aus einem anderen Thread bezieht, wo es darum ging, die Eindeutigkeit von Datenbankprimärschlüsseln sicherzustellen (Definition von Datenbanktabellen). Dort hatte ich ihm geraten, dass er als Notkrücke (wenn es keinen besseren Weg gibt) dem bestehenden Primärschlüssel seiner Tabelle einfach eine Spalte "laufende Nummer" hinzufügen und darin dann hochzählen kann.
Wo dabei jetzt freilich das Problem sein soll, erschließt sich mir nicht. HH_ABAP, Du kannst doch einfach in der SE11 hinter dem letzten Tabellenfeld, das zum alten Primärschlüssel gehört, eine Zeile einfügen und diese mit in den Primärschlüssel aufnehmen. Da es sich um eine Primärschlüsseländerung handelt, kann es allerdings sein, dass Du die Tabelle anschließend mit der Transaktion SE14 "umsetzen" musst, wenn Du die bereits vorhandenen Daten nicht verlieren willst. Das ist aber ein vollautomatischer Vorgang: einfach Transaktion starten, Tabellennamen eingeben und Abfahrt. Ich habe noch nie erlebt, dass dabei was schiefgeht.
Ja, davon bin ich auch ausgegangen, dann braucht HH_ABAP aber eine interne Tabelle mit den Quelldaten und einer laufenden Nummer, die dann auf der DB gespeichert wird.
Ich hatte daher die Vermutung, dass er dabei gescheitert ist, weil sich die ursprünglichen Quelldaten in der internen Tabelle durch ein neues Feld verschieben.
Wie auch immer, das Ganze ist Spekulation weil HH_ABAP gerne "Rate mal mit Rosenthal" mit uns spielt.