Ansicht
Dokumentation

ABAPMOVE-CORRESPONDING_ITAB - MOVE-CORRESPONDING ITAB

ABAPMOVE-CORRESPONDING_ITAB - MOVE-CORRESPONDING ITAB

BAL_S_LOG - Application Log: Log header data   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

MOVE-CORRESPONDING, itab

Kurzreferenz



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 )