KONM: richtigen Staffelbetrag ermitteln

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

KONM: richtigen Staffelbetrag ermitteln

Beitrag von TravellingEntwickler (ForumUser / 19 / 5 / 4 ) »
Hi zusammen,

ich stehe gerade etwas auf dem Schlauch, aus einer Kundenanforderung sollen Konditionsbeträge ausgegeben werden. Pro Stück (check) und bei Staffeln für die nächst kleinere Staffel.

also bei Menge 11 zur Staffel 10-19 den KBETR ziehen.

Bspw. wäre hier der 2., nur wie kriege ich den im Loop anständig ermittelt?
Staffelmenge | Betrag
0,000 0,00
10,000 926,00
20,000 826,00
Danke für input!
Andre

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: KONM: richtigen Staffelbetrag ermitteln

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Hallo,

"anständig" ist hier das Problem.

unanständig:
Die Staffelmenge | Betrag Tabelle sortieren nach Staffelmenge
Loop über Staffelmenge | Betrag Tabelle wenn Staffelmenge <= Menge
Ende Loop
Der letzte Eintrag war es.


Wenn die Tabelle Staffelmenge | Betrag Tabelle lang ist und/oder sehr oft darauf zugegriffen werden muss, dann könnte man sich überlegen, ob man diese nicht einmalig erweitert Staffelmenge_Von | Staffelmenge_Bis | Betrag.

Grüße
Alex

Folgende Benutzer bedankten sich beim Autor A6272 für den Beitrag:
TravellingEntwickler



Re: KONM: richtigen Staffelbetrag ermitteln

Beitrag von Somani (ForumUser / 81 / 12 / 20 ) »
Ob es viel "anständiger" ist weiss ich nicht.. Aber es geht ohne Loop Statement.

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 ).
Schöne neue ABAP Welt :)

Grüsse

Re: KONM: richtigen Staffelbetrag ermitteln

Beitrag von Thomas R. (Expert / 757 / 78 / 34 ) »
hat sich erledigt - man sollte halt genau lesen... ;-(

Re: KONM: richtigen Staffelbetrag ermitteln

Beitrag von TravellingEntwickler (ForumUser / 19 / 5 / 4 ) »
Somani hat geschrieben:
29.05.2019 12:42
Ob es viel "anständiger" ist weiss ich nicht.. Aber es geht ohne Loop Statement.

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 ).
Schöne neue ABAP Welt :)

Grüsse
ob das mit mehreren Hundert verschiedenen Datensätzen funktioniert? oben war's ja nur ein Beispiel ;)

Seite 1 von 1

Vergleichbare Themen

4
Antw.
7834
Views
2
Antw.
5215
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 19.01.2006 11:31 • Verfasst in Financials
0
Antw.
2173
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 20.01.2006 09:12 • Verfasst in ABAP® Core
3
Antw.
4584
Views
Feldbezeichnung ermitteln
von amjahid » 15.05.2008 14:55 • Verfasst in ABAP® für Anfänger
1
Antw.
4147
Views
Anwenderstatus ermitteln?
von Nordlicht » 11.04.2016 10:58 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1782
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2323

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1782
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2323

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 358
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 957
MS-Word als Editor
letzen Monat von tekko 1 / 4468