Danke für input!Staffelmenge | Betrag
0,000 0,00
10,000 926,00
20,000 826,00
Folgende Benutzer bedankten sich beim Autor A6272 für den Beitrag:
TravellingEntwickler
Code: Alles auswählen.
TYPES: BEGIN OF t_staffel,
menge TYPE vrkme,
betrag TYPE betrg,
END OF t_staffel,
t_staffeln TYPE SORTED TABLE OF t_staffel WITH NON-UNIQUE KEY menge.
DATA(staffeln) = VALUE t_staffeln( ( menge = '0' betrag = '0' )
( menge = '10' betrag = '926' )
( menge = '20' betrag = '826' ) ).
DATA(vk_menge) = '11'.
DATA(vk_betrag) = REDUCE betrg( INIT val TYPE betrg
FOR wa IN
FILTER #( staffeln WHERE menge LE CONV #( vk_menge ) )
NEXT val = wa-betrag ).
ob das mit mehreren Hundert verschiedenen Datensätzen funktioniert? oben war's ja nur ein Beispiel ;)Somani hat geschrieben: ↑29.05.2019 12:42Ob es viel "anständiger" ist weiss ich nicht.. Aber es geht ohne Loop Statement.
Schöne neue ABAP Welt :)Code: Alles auswählen.
TYPES: BEGIN OF t_staffel, menge TYPE vrkme, betrag TYPE betrg, END OF t_staffel, t_staffeln TYPE SORTED TABLE OF t_staffel WITH NON-UNIQUE KEY menge. DATA(staffeln) = VALUE t_staffeln( ( menge = '0' betrag = '0' ) ( menge = '10' betrag = '926' ) ( menge = '20' betrag = '826' ) ). DATA(vk_menge) = '11'. DATA(vk_betrag) = REDUCE betrg( INIT val TYPE betrg FOR wa IN FILTER #( staffeln WHERE menge LE CONV #( vk_menge ) ) NEXT val = wa-betrag ).
Grüsse