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 / 755 / 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.
7701
Views
0
Antw.
1566
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 20.01.2006 09:12 • Verfasst in ABAP® Core
2
Antw.
4526
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 19.01.2006 11:31 • Verfasst in Financials
4
Antw.
2688
Views
Bedarfe ermitteln?
von Luty » 28.04.2008 11:47 • Verfasst in ABAP® Core
13
Antw.
3712
Views
Jobcount via RFC ermitteln
von FullyScaled » 12.02.2015 13:28 • Verfasst in ABAP® Core

Ü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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 20 Stunden von Bright4.5 1 / 439
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2088
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8680