Numerische ABAP Typen

Numerische ABAP Typen
4.3 Sterne
9 Bewertungen

Dieser Beitrag ist Teil des Kurses ABAP Grundlagen.

Neben fünf nichtnumerischen Typen, Texfelder (C), numerische Textfelder (N), Datumsfelder (D), Zeitfelder (T) und Hexadezimalfelder (X), existieren drei numerische Typen, die der Repräsentation und Berechnung von Zahlen in ABAP dienen. Der Datentyp N ist kein numerischer Typ.

Durch einen Erfahrungsaustausch lässt sich viel voneinander lernen. Tauschen Sie sich deshalb jetzt mit Experten auf Ihrem Gebiet aus und erweitern Sie Ihr Netzwerk! Treten Sie jetzt der exklusiven Gruppe von SAP Experten bei.

Daten vom Typ N können zwar nur numerische Zeichen (0,1,2,…,9) enthalten, werden intern aber nicht als Zahlen erkannt. Typische N-Felder sind zum Beispiel Kontonummern und Postleitzahlen.

  • Ganze Zahlen – Typ I

Der Datentyp I repräsentiert ganze Zahlen (Integer). Bei arithmetischen Rechnungen, die keine ganzen Zahlen als Ergebnis haben (z.B. Division), wird das Ergebnis gerundet, nicht abgeschnitten.

Daten vom Typ I werden u.a. für Zähler, Stückzahlen, Indizes oder Zeiträume verwendet.

  • Gepackte Zahlen – Typ P

Daten vom Typ P repräsentieren Dezimalzahlen. Wenn ein Feld eine Dezimalzahl mit zwei Nachkommastellen sein soll, lautet die Anweisung:
DATA zahl01 TYPE p DECIMALS 2.
Hinter dem Dezimalpunkt sind bis zu 14 Stellen erlaubt. Der Initialwert ist Null. Bei der Arbeit mit Daten vom Typ P empfiehlt es sich, im ABAP-Editor das Programmattribut Festpunktarithmetik zu setzen, sonst werden P-Zahlen wie ganze Zahlen behandelt.

Daten vom Typ P werden für die Angabe von Entfernungen, Gewichten, Geldbeträgen usw. verwendet.

  • Gleitpunktzahlen – Typ F

Bei Gleitpunktzahlen handelt es sich um eine Exponentialdarstellung. Der Genauigkeitsbereich ist ungefähr 15 Stellen, abhängig von der Gleitpunktarithmetik der Hardware-Plattform. Da Daten vom Typ F intern in ein binäres System konvertiert werden, können Rundungsfehler auftreten. Wenn es Ihnen auf die Genauigkeit ankomment, sollten Sie diesen Datentyp nicht einsetzen. In diesem Fall benutzen Sie besser Daten vom Typ P.

Daten vom Typ F werden benutzt, wenn sehr große Wertebereiche benötigt werden und es auf Rundungsfehler nicht ankommt.

  • Geschwindigkeit der Berechnung

Berechungen mit I- und F-Feldern sind schneller als mit P-Feldern. Die Ursache dafür ist, dass arithmetische Operationen mit I- und F-Feldern eng verwandt mit Maschinensprache-Anweisungen sind, während P-Felder größere Software-Unterstützung erfordern. Dennoch gibt es zu Daten vom Typ P keine Alternative, wenn es um Genauigkeit geht.

Diese ABAP Tricks machen Ihr Leben leichter!

  • In meinem Newsletter gebe ich eine Menge Tipps und Kniffe rund um ABAP.
  • Die Mini-Tutorials unterstützen Sie dabei, Software in ABAP effizienter zu entwickeln.
  • Praktische Anleitungen ermöglichen Ihnen schnelle Erfolge bei der Optimierung Ihrer Arbeit.
  • Bei der Anmeldung zu meinem Newsletter erhalten Sie das Buch „ABAP Tipps und Tricks“ als Willkommensgeschenk.
ABAP Tipps und Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. Ich hasse Spam genau so wie du.

Quellen:
SAP Hilfe: Eingebaute ABAP-Typen
Karl-Heinz Kühnhauser, Thorsten Franz (2011): Discover ABAP, 3. Auflage, Bonn

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Wenn Sie tatkräftige Unterstützung bei Ihren SAP BI Projekten benötigen, können Sie ihn über Xing, LinkedIn oder Facebook kontaktieren.
Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Kommentar verfassen