Werte verdichten aus internen Tabellen im neuen ABAP (Schlüsselwort REDUCE)
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
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 ) ).
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
- ABAP Objects: Das neue umfassende Handbuch zu Konzepten, Sprachelementen und Werkzeugen in ABAP OO, 2016, von Felix Roth, S. 274 f.