TYPES: BEGIN OF ty_s_kosten,
k1 TYPE decfloat16,
k2 TYPE decfloat16,
END OF ty_s_kosten.
TYPES: ty_it_kosten TYPE STANDARD TABLE OF ty_s_kosten WITH EMPTY KEY.
TYPES: ty_it_sum TYPE STANDARD TABLE OF decfloat16 WITH EMPTY KEY.
DATA(it_kosten) = VALUE ty_it_kosten( ( k1 = '0.59' k2 = '1.48' )
( k1 = '1.28' k2 = '2.31' )
( k1 = '4.07' k2 = '2.35' ) ).
* Summen ausrechnen, neue Tabelle mit den Summen erstellen
DATA(it_sum) = REDUCE ty_it_sum(
* Initialwerte (leere Tabelle) für die Rückgabe (Typen bei REDUCE und VALUE müssen identisch sein)
INIT sum = VALUE ty_it_sum( )
* alle Datensätze aus it_kosten
FOR <k> IN it_kosten
* neue Elemente an it_sum anfügen, auf Basis der alten "sum"
NEXT sum = VALUE #( BASE sum
( <k>-k1 + <k>-k2 )
)
).
* Ausgabe
cl_demo_output=>write_data( it_kosten ).
cl_demo_output=>write_data( it_sum ).
cl_demo_output=>display( ).