Rundungsdifferenzen beim PR00

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

SAP R/3 Vertrieb: Auftragsverwaltung, Versand und Transport, Fakturierung, Kreditmanagement, Außenhandel/Zoll...
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Rundungsdifferenzen beim PR00

Beitrag von Syntaxfehler (ForumUser / 6 / 0 / 0 ) »
Hallo zusammen,

ich habe ein kleines Problem und würde gern wissen ob ich das mit Bordmitteln gelöst bekomme. Stelle euch folgendes Szenario vor:
Ihr habt einen Kundenauftrag in der VA01 und ermittelt je nach Gewicht des Auftrags ein Frachtmaterial welches einen Preis (PR00) hat. Das Frachtmaterial wird allerdings nicht als normale Position in den Auftrag gehangen, sondern als Unterposition zu jedem versendeten Material hinzugefügt. Dann werden die Anteile der Position zum Gesamtgewicht der Sendung errchnet und auf deren Basis wird dann der PR00 aufgeteilt.
Durch die hin- und her Rechnerei haben gibt es Rundungssifferenzen. Summiert man die Werte der Frachtmaterialien in den Unterpositionen, weicht diese von dem Konditionswert ab.

Meine erste Idee die Rundungsdifferenzen im Userexit bei der Auftragsanlage zu ändern schlug fehl, da ich die xkomv nicht ändern kann. Nun habe ich zwei weitere Möglichkeiten gefunden, wie ich das Problem vielleicht gelöst bekomme.
1. Es gibt bei den Konditionsarten den Rundungsdifferenzausgleich über Gruppenkonditionen, die Beschreibung macht genau das, was ich gern haben würde:
Rundungsdifferenzenausgleich
Kennzeichen, das steuert, ob für Gruppenkonditionen mit Gruppenkeyroutine ein Rundungsdifferenzenausgleich durchgeführt wird.
Falls das Kennzeichen gesetzt ist, vergleicht das System den Konditionswert auf Kopfebene mit der Summe der Konditionswerte auf Positionsebene. Die Differenz wird dann der größten Position zugeschlagen.
2. Es gibt in jedem Auftrag eine Art Gemeinkostenposition wo nicht direkt verteilbare Zu- und Abschläge drin landen. Hier würde ich über das Kalkulationsschema eine Rechenregel definieren, welche über einen Zuschlag die errechnete Rundungsdifferenz addiert oder subtrahiert.

Frage: Hat jemand ein ähnliches Problem schon einmal gehabt? Habt ihr noch einen Link für eine Best Practise Lösung zum Thema Gruppenkonditionen mit Rundungsdifferenzausgleich?

Viele Grüße

Syntaxfehler

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


Re: Rundungsdifferenzen beim PR00

Beitrag von Syntaxfehler (ForumUser / 6 / 0 / 0 ) »
ein kurzer Zwischenstand:
Wir haben noch eine Möglichkeit geprüft, welche allerdings nicht funktioniert hat. Wir wollten die Konditionswerte im Userexit ändern. Das funktioniert nicht, weil die interne Tabelle xkonv zwar lesbar, aber nicht änderbar ist.
Lösungsmöglichkeit 1) Lösung über eine Kopfkondition. Das scheint zu funktionieren und die Beträge werden auch korrekt nach den Anteilen der Positionen verteilt, mit dem Rundungsdifferenzausgleich. Ich suche derzeit noch nach einer Lösung, wie ich die Kopfkonditionen in meine Aufträge bekomme. Eine Konditionsfindung scheint es dafür nicht zu geben, die Kopfkondition wird irgendwie manuelle mitgegeben werden müssen.

Grüße

Syntaxfehler

Re: Rundungsdifferenzen beim PR00

Beitrag von ratsnus (Specialist / 357 / 2 / 56 ) »
also ich würde das über eine Bedingung im Kalkulationsshema lösen.
du kannst ja eine Kondition ZD00 Fracht definieren und dafür eine Bedingnung hinterlegen, hier hast du ja Zugriff auf die tabelle KOMP dort solltest du alle Info's wie Gewicht etc. finden und kannst den Frachtzuschlag errechnen und entsprechend in der tabelle tkomv ändern. dann rundest du den Betrag vorher noch, Fuba: FIMA_NUMERICAL_VALUE_ROUND
und fertig. in der Transaktion VOFM kannst du die Bedingungen in der Presifindung pflegen.
2016-09-23 08_37_52-Sicht _Steuerung_ ändern_ Übersicht.jpg
<:: XING-Gruppe Tricktresor::>

Re: Rundungsdifferenzen beim PR00

Beitrag von Syntaxfehler (ForumUser / 6 / 0 / 0 ) »
Mahlzeit zusammen,

es ist zwar schon etwas her... aber macht ja nix! Problem ist gelöst über den UserExit_prepare_tkomk in der MV45AFZZ.

Die Bebindung in der VOFM hatte ich damals auch getestet, aber ich meine das ich das nur die Zeilte aus den Konditionstabelle im Zugriff hatte und die Tabelle selbst nicht nachlesen konnte, deshalb hat das nicht funktioniert.

Die Lösung mit dem User Exit funktioniert auch nur, weil die Gesamtmenge im Beleg bekannt ist. Ich loope über die VBAP und sammel alle benötigten Positionen in eine interne Tabelle lt_vbap
über diese loope ich dann wieder und suche nach der position mit der Maximalen Menge (ls_pos_max) und und baue eine weitere Tabelle mit einem Collect mit dem gleichen Material auf (lt_col_mat).
Am Ende habe ich eine gesamtmenge des Materials und und die Position mit der Maximalen menge
Jetzt loope ich noch über die TKOMK zu den gemerkten Positionen zum Material. Die Konditionswerte des gleichen Materials werden summiert als IST_Summe
Die SOLL_Summe wird aus der interne Tabelle lt_col_mat als SOLL_Summe gebildet und verglichen.
Weicht die Differenz zwischen IST- und SOLL_Summe ungleich 0 wird der einer Ab/Aufschalgskonditions zu der ls_pos_max in der tkomk die Differenz hinzu addiert. Somit habe ich in diesem Fall einen Rundungsdifferenzausgleich nachgebaut, weil es anders nicht zu handeln war.

ich hoffe die Antwort ist halbwegs einleuchtend.

Grüße der Syntaxfehler

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1815
Views
Rundungsdifferenzen beim Buchen und Ausgleichen
von sapit » 28.07.2008 12:11 • Verfasst in Financials
16
Antw.
11827
Views
Fuba Pricing bsp aufruf ohne Beleg VK11 PR00
von Luigi91 » 04.10.2016 11:57 • Verfasst in Sales and Distribution
5
Antw.
658
Views
FUBA Pricing, manuelle Preisfindung über Code der Kondition PR00
von Hunty » 14.12.2022 15:25 • Verfasst in Sales and Distribution

Ü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.