Show TOC

 Eingebaute ABAP-TypenLocate this document in the navigation structure

Verwendung

In der Sprache ABAP gibt es Typen, die in jedem ABAP-Programm eingebaut sind. Die unten stehende Abbildung zeigt die eingebauten ABAP-Typen.

Typ Länge Standardlänge Beschreibung

b

1 Byte

1-Byte-Ganzzahl (intern)

c

1 bis 65.535 Zeichen

1 Zeichen

Textfeld

cursor

wie i

wie i

Datenbankcursor

d

8 Zeichen

Datumsfeld (Format JJJJMMTT)

decfloat16

8 Byte

Dezimale Gleitpunktzahl mit 16 Dezimalstellen

decfloat34

16 Byte

Dezimale Gleitpunktzahl mit 34 Dezimalstellen

f

8 Byte

Binäre Gleitpunktzahl mit 16 Dezimalstellen

i

4 Byte

4-Byte-Ganzzahl

n

1 bis 65.535 Zeichen

1 Zeichen

Numerischer Text

p

1 bis 16 Byte

8 Byte

Gepackte Zahl (Implementierung ist von der Hardwareplattform abhängig)

string

variabel

Textstring

s

2 Byte

2-Byte-Ganzzahl (intern)

t

6 Zeichen

Zeitfeld (Format HHMMSS)

x

1 bis 65.535 Byte

1 Byte

Bytefeld

xstring

variabel

Bytekette

Hinweis
  • Alle eingebauten Typen in dieser Tabelle sind elementare Typen.
  • Die eingebauten ABAP-Typen können auch zur Definition Ihrer eigenen Datentypen und Datenobjekte verwendet werden. Die Datentypen b und s stellen Ausnahmen dar. Bei ihnen handelt es sich um interne Typen, die weder statisch noch dynamisch in ABAP-Anweisungen definiert werden können. Selbstdefinierte Datentypen und Datenobjekte in ABAP-Programmen sind von Datentyp b und s, wenn Sie mit Bezug auf Datenelemente des ABAP Dictionary definiert werden, die den externen Datentyp INT1 oder INT2 haben.
  • Der programmglobal eingebaute Datentyp cursor ist gegenwärtig gleichbedeutend mit dem eingebauten ABAP-Typ i. Er wird für die Deklaration einer Cursorvariablen für die Handhabung des Datenbank-Cursors benötigt.
  • Die Einträge in der Spalte für die Standardlänge geben die Länge an, die beim Deklarieren von Datenobjekten auf die zugehörigen generischen Datentypen angewendet wird, sofern keine explizite Länge in der relevanten Anweisung festgelegt wurde.

Die eingebauten ABAP-Typen decfloat34 und decfloat16:

In den unten stehenden Informationen werden die Attribute dieser Datentypen beschrieben.

Für decfloat16 ist der Wertebereich 1-1E+370 bis -1E-398, 0, +1E-398 bis +1E+370-1 und für decfloat34 1-1E+6112 bis -1E-6176, 0, +1E-6176 bis 1E+6112-1. Die maximale Genauigkeit liegt bei 16 beziehungsweise bei 34 Dezimalstellen.

Dezimale Gleitpunktzahlen mit Nachkommastellen oder Exponenten können nicht direkt im Programm deklariert werden, stattdessen müssen Sie Textliterale verwenden, deren Inhalt als Zahl interpretiert werden kann. D. h., als Zahl in mathematischer, wissenschaftlicher oder kaufmännischer Notation.

Die Verwendung von dezimalen Gleitpunktzahlen ist dann zu empfehlen, wenn Genauigkeit und große Wertebereiche eine wesentliche Rolle spielen. Binäre Gleitpunktzahlen weisen ihnen gegenüber Nachteile auf. Binäre Gleitpunktzahlen können nicht alle Dezimalzahlen exakt in ihrem Wertebereich darstellen. Dezimale Gleitpunktzahlen haben einen erheblich größeren Wertebereich und deutlich höheren Genauigkeitsgrad als gepackte Zahlen. Verwenden Sie Typ decfloat16 anstelle von decfloat34, wenn Sie Platz (Hauptspeicher und Datenbank) sparen möchten.

Mit dem EXACT-Zusatz der COMPUTE-Anweisung können Sie eine genaue Berechnung für dezimale Gleitpunktzahlen unter bestimmten Bedingungen erzwingen. Runden ist in genauen Berechnungen nicht erlaubt und löst eine Ausnahme aus.

Intern werden dezimale Gleitpunktzahlen durch eine 16- oder 34-stellige Mantisse und einem Dezimalexponenten dargestellt. Der Exponent liegt zwischen -383 und +384 beziehungsweise zwischen -6143 und +6144.