Move-Corresponding und Corresponding

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

Siehe Neues ABAP (ab Release 7.40).

Move-Corresponding im alten ABAP

Klassisch wird der Befehl "Move-corresponding" genutzt, um namensgleiche Felder von einer Struktur zu einer anderen Struktur zuzuweisen.

Move-corresponding struktur1 to struktur2.

Tabelleninhalte zuweisen mit Move-Corresponding

Im neuen ABAP ab Release 7.40 SP5 können auch die Inhalte namensgleicher Tabellenfelder einander zugewiesen werden.

Move-corresponding itab1 to itab2.

Tabelleninhalte zuweisen mit Corresponding

TYPES: BEGIN OF ty_itab,
       carrid    TYPE sflight-carrid,
       min_price TYPE p DECIMALS 2,
       END OF ty_itab.

DATA: lt_itab    TYPE STANDARD TABLE OF ty_itab,
      lt_sflight TYPE TABLE OF sflight.

SELECT *
 FROM sflight
 INTO TABLE lt_sflight.
  • Die Datensätze von der Tabelle LT_SFLIGHT der Tabelle LT_ITAB zugewiesen.
  • Das Feld PRICE wird dabei gemappt mit dem Befehl "MAPPING" auf das Feld MIN_PRICE, da es nicht gleichnamig ist

nötig.

 lt_itab = CORRESPONDING #(
          lt_sflight MAPPING carrid    = carrid
                             min_price = PRICE 
                          ).
  • Würde man hingegegen gleichnamige Felder nicht mappen wollen, würden sie dem Befehl "EXCEPT" aufgeführt.
Lt_itab = ...
          EXCEPT = <feldname> ).

Literatur