Dominik Precht
26. Juli 2015

Festpunktarithmetik in ABAP – Was bedeutet das?

FPA off

Hatten Sie schon mal das Problem, dass beim Rechnen mit Dezimalzahlen nicht die Werte in Ihrem ABAP Programm berechnet wurden, die Sie erwartet haben? Oder haben Sie sich bereits gefragt, welche Auswirkungen die Checkbox Festpunktarithmetik in den Eigenschaften eines ABAP Reports hat? Ich stelle Ihnen anhand eines einfachen Beispiels den Unterschied vor.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

Die Situation

Schauen Sie sich das folgende Beispiel an, in dem wir simple Berechnungen mit Dezimalzahlen vornehmen. Welche Ergebnisse der einzelnen Ausgaben würden Sie erwarten? (Hinweis: Das Datenelement KWERT basiert auf dem Datentyp CURR mit 2 Dezimalstellen.)

Festpunktarithmetik in ABAP: Beispiel Report

ABAP Beispiel Report

Ihre Ergebnisse sind 15.46, 1.55 und 15.50? Mein Ergebnis sieht folgendermaßen aus.

Ausgabe mit deaktivierter Festpunktarithmetik in ABAP

Ausgabe mit deaktivierter Festpunktarithmetik

Festpunktarithmetik in ABAP – Was bedeutet das?
Wir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.
Schon in der Ideenphase unterstützen wir Sie bei der Definition der Anforderungen. Die Konzeption und Umsetzung erfolgt durch unsere SAP Experten.

Sie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Mit professionellem Projektmanagement sicheren wir den Projekterfolg.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail biermann@erlebe-software.de
Ingo Biermann, Fachbereichsleiter


Udemy-abap-2

Für Besucher von Erlebe Software können wir unseren Kurs SAP ABAP für Anfänger: Komplexe Datenarten und Debugging mit kräftigem Rabatt anbieten.

SAP ABAP für Anfänger: Komplexe Datenarten und Debugging

Die Ursache

Der Grund für diese unerwarteten Ergebnisse ist die Festpunktarithmetik, die für ABAP Programme unter Springen -> Eigenschaften
eingestellt werden kann. Sie ist standardmäßig aktiviert.

ABAP Festpunktarithmetik: Eigenschaften des Reports

Eigenschaften des Reports

Wenn die Einstellung deaktiviert ist, werden gepackten Zahlen bei Operationen als ganze Zahlen (Integer) behandelt. Dazu zählt der vordefinierte Datentyp P und auch die Dictionary Typen CURR, DEC oder QUAN. Das bedeutet, dass die durch den Datentyp definierten Dezimalstellen bei den Operationen nicht berücksichtigt werden und nur bei der Ausgabe der Werte eine Auswirkung haben (z.B. im Beispiel werden die letzten beiden Ziffern als Dezimalstellen genutzt). Wie im zweiten Schritt im obigen Beispiel zu sehen, wird bei Berechnungen auch auf die nächste ganze Zahl gerundet (154.56 / 10 = 15.46).

Programm mit Festpunktarithmetik in ABAP: Ausgabe bei aktivierter Festpunktarithmetik

Ausgabe bei aktivierter Festpunktarithmetik

Das ist das Ergebnis, wie wir es erwarten würden, wenn die Festpunktarithmetik in ABAP Reports aktiviert ist.

Ich hoffe, dass dieser Artikel hilfreich für Sie ist. Wenn Sie Fragen haben oder Unterstützung brauchen kontaktieren Sie uns!

Dominik Precht

Dominik Precht

Mein Name ist Dominik Precht und ich bin begeisterter SAP Consultant bei mindsquare. Wie meine Kollegen habe ich mein Hobby zum Beruf gemacht.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Ihre Mitarbeiter investieren viel Energie in die Testphasen der Projekte?

weiterlesen

SAP Hana lässt Entwicklern eine Vielzahl an Möglichen Vorgehensweisen zur Lösung ihrer Probleme. In diesem Blogartikel gebe ich Ihnen eine kurze Aussicht darauf, was für Sie wichtig ist zu Unterscheiden […]

weiterlesen

Was bedeutet eigentlich der Wechsel auf HANA für die ABAP-Entwicklung? S/4HANA löst immer mehr die alte SAP Business Suite ab. Der Support dieser läuft nur noch bis 2027. Damit steht […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice