Ansicht
Dokumentation
ABAPMOVE-CORRESPONDING_ITAB - MOVE-CORRESPONDING ITAB
BAL_S_LOG - Application Log: Log header data BAL_S_LOG - Application Log: Log header dataDiese Dokumentation steht unter dem Copyright der SAP AG.
MOVE-CORRESPONDING, itab
MOVE-CORRESPONDING $[EXACT$] itab1 TO itab2.
$[EXPANDING NESTED TABLES$] $[KEEPING TARGET LINES$].
Zusätze:
1. ... EXPANDING NESTED TABLES
2. ... KEEPING TARGET LINES
Wirkung
In dieser Variante der Anweisung MOVE-CORRESPONDING müssen für itab1 und itab2 interne Tabellen angegeben werden. Es werden alle gleichnamigen Komponenten in den Zeilentypen von itab1 und itab2 gesucht und diese nach untenstehenden Regeln von itab1 nach itab2 zugewiesen.
- Bei einem strukturierten Zeilentyp sind die Komponenten die Strukturkomponenten.
- Ein nicht strukturierter Zeilentyp wird wie eine Struktur mit einer einzigen Komponenten behandelt. Der Typ der Komponente ist der Zeilentyp der internen Tabelle, also elementar, selbst eine Tabelle oder eine Referenzvariable. Die Komponente hat einen internen Namen, der für alle Tabellen gleich ist.
Wenn es gleichnamige Komponenten gibt, wird die Zieltabelle itab2 ohne den Zusatz KEEPING TARGET LINES gelöscht und es werden so viele initiale Zeilen eingefügt, wie in der Quelltabelle itab1 vorhanden sind. Danach werden die Zeilen der Quelltabelle sequenziell in der gleichen Reihenfolge wie bei der Anweisung LOOP ausgelesen und der Inhalt jeder Zeile wird der zugehörigen initialen Zeile in der Zieltabelle gemäß der Regeln für MOVE-CORRESPONDING $[EXACT$] für Strukturen zugewiesen. Abschließend werden in der Zieltabelle falls notwendig die Tabellenschlüssel und zugehörigen Tabellenindizes nach den Regeln für das Einfügen in interne Tabellen aktualisiert, wobei es bei Verletzungen der Eindeutigkeit zu den entsprechenden Ausnahmen kommen kann.
Wenn es keine gleichnamigen Komponenten gibt, findet keine Zuweisung statt und die Zieltabelle bleibt unverändert.
Hinweise
- Bei der Zuweisung einer internen Tabelle mit nicht strukturiertem Zeilentyp an eine interne Tabelle mit strukturiertem Zeilentyp ist MOVE-CORRESPONDING immer wirkungslos.
- Ohne Zusätze wirkt MOVE-CORRESPONDING bei der Zuweisung einer internen Tabelle mit nicht strukturiertem Zeilentyp an eine ebensolche Tabelle wie eine normale Zuweisung.
- Wenn eine interne Tabelle itab mit MOVE-CORRESPONDING an sich selbst zugewiesen wird, hat die Anweisung keine Wirkung. Insbesondere werden die Zeilen nicht erst gelöscht und dann wieder gefüllt.
- Die Konvertierbarkeit der Komponenten wird falls erkennbar statisch überprüft. Wenn
die Konvertierbarkeit statisch nicht feststellbar ist, kommt es nur dann zu einem Laufzeitfehler, falls wirklich eine Zuweisung erfolgt.
Zusatz 1
... EXPANDING NESTED TABLES
Wirkung
Wenn dieser Zusatz angegeben ist, erfolgen die Zuweisungen der einzelnen Zeilen nach den Regeln für MOVE-CORRESPONDING $[EXACT$] mit der Angabe von EXPANDING NESTED TABLES und tabellarische Komponenten werden auf jeder Hierarchieebene aufgelöst.
Wenn der Zusatz nicht angegeben ist, erfolgen die Zuweisungen der einzelnen Zeilen nach den Regeln für
MOVE-CORRESPONDING $[EXACT$] ohne die Angabe von EXPANDING NESTED TABLES und tabellarische Komponenten werden nach den
Regeln für
Zuweisungen bzw. verlustfreie Zuweisungen zugewiesen.
Zusatz 2
... KEEPING TARGET LINES
Wirkung
Der Zusatz bewirkt, dass die Zieltabelle itab2 nicht gelöscht wird, sondern dass so viele initiale Zeilen angehängt werden, wie in der Quelltabelle itab1 vorhanden sind und dass die Zeilen der Quelltabelle diesen Zeilen zugewiesen werden. Die Aktualisierung der Tabellenschlüssel und Indizes erfolgt dann über alle Zeilen. Wenn keine namensgleiche Komponenten gefunden werden, bleibt die Zieltabelle unverändert.
Hinweis
Der Zusatz KEEPING TARGET LINES wirkt nur auf die Zeilen von itab2. Auch wenn er zusammen mit dem Zusatz EXPANDING NESTED TABLES angegeben wird, kann er nicht auf geschachtelte Tabellen wirken, da diese immer in neue initiale Zeilen aufgelöst werden.
Beispiel
Zuweisung von vier namensgleichen Komponenten der Standardtabelle spfli_tab an eine sortierte Tabelle flights.
MOVE-CORRESPONDING für interne Tabellen
rdisp/max_wprun_time - Maximum work process run time rdisp/max_wprun_time - Maximum work process run time
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6380 Date: 20240523 Time: 133143 sap01-206 ( 108 ms )