Move-Corresponding und Corresponding

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

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 Felder von internen Tabellen einander zugewiesen werden.

MOVE-CORRESPONDING itab1 TO itab2.

Tabelleninhalte zuweisen mit Corresponding

  • 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.

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.
 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