Werte verdichten aus internen Tabellen im neuen ABAP (Schlüsselwort REDUCE)

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

Siehe Neues ABAP (ab Release 7.40).

Das ABAP-Schlüsselwort REDUCE bietet neue Möglichkeiten, um Werte zu verdichten aus internen Tabellen.

Füllen der internen Tabelle

  • Es wird zunächst eine interne Tabelle gefüllt. Hier wird iteriert über einen Counter von 1 bis 5 und jeder dieser Werte wird in eine Zeile der internen Tabelle LT_ITAB geschrieben.
lt_itab = VALUE #( FOR lv_count = 1 WHILE lv_count <= 5
                                   ( lv_count ) ).

Value1.jpg

Verdichtung Werte interne Tabelle mit REDUCE - INIT - FOR - NEXT

  • Hier erfolgt eine Iteration über die Tabelle LT_ITAB und diese Werte werden addiert.
  • Die Variable "LV_SUMME" hat den Datentyp i.
  • Mit INIT wird der Anfangswert festgesetzt. Hier ist er Null.
  • Die Iteration erfolgt über "FOR wert IN lt_itab".
  • In der Zeile "NEXT sum = sum + wert" erfolgt in diesem Fall die Summierung der Iterationsvariablen "WERT".
  • Die Summe LV_SUMME resultiert zu 1+2+3+4+5 = 15.
DATA(lv_summe) = REDUCE i( INIT sum = 0
                           FOR wert IN lt_itab
                           NEXT sum = sum + wert ).

Literatur