Show TOC Anfang des Inhaltsbereichs

Eingebaute ABAP-Typen  Dokument im Navigationsbaum lokalisieren

Diese Datentypen sind im Kernel des SAP Web AS ABAP eingebaut und in jedem ABAP-Programm sichtbar. Die eingebauten Typen können zum einen bei der Definition von programmlokalen Datentypen und Datenobjekten zum anderen bei der Typisierung von Schnittstellenparametern und Feldsymbolen verwendet werden.

Vor Release 4.5A wurden eingebaute Datentypen auch als vordefinierte Datentypen bezeichnet. Seit Release 4.5A kann man aus der Sicht eines ABAP Programms Datentypen auch programmübergreifend im ABAP Dictionary (vor)definieren. Deshalb ist der Begriff 'vordefiniert' nicht mehr eindeutig und wird durch 'eingebaut' ersetzt.

Eingebaute elementare ABAP-Typen fixer Länge

Diese eingebauten elementaren Datentypen dienen der Typisierung von Einzelfeldern, deren Länge zur Laufzeit immer festgelegt ist. Die folgende Tabelle fasst die elementaren eingebauten Datentypen fixer Länge zusammen. Die Feldlängen sind in Bytes angegeben.

Datentyp

 

Initiale

Feldlänge

Gültige

Feldlänge

Initialwert

 

Bedeutung

 

Numerische Typen

I

4

4

0

Ganze Zahl

F

8

8

0

Gleitpunktzahl

P

8

1 - 16

0

Gepackte Zahl

Zeichenartige Typen

C

1

1 - 65535

'  '

Textfeld

(alphanumerische Zeichen)

D

8

8

'00000000'

Datumsfeld

(Format: YYYYMMDD)

N

1

1 - 65535

'0 … 0'

Numerisches Textfeld

(numerische Zeichen)

T

6

6

'000000'

Zeitfeld

(Format HHMMSS)

Hexadezimaler Typ

X

1

1 - 65535

X'0 … 0'

Hexadezimalfeld

Die Datentypen D, F, I und T beschreiben die technischen Eigenschaften eines Datenobjekts vollständig. Die Datentypen C, N, P und X sind generisch. Wenn ein generischer Typ zur Definition eines programmlokalen Datentyps oder bei der Deklaration eines Datenobjekts verwendet wird, müssen Feldlänge und beim Typ P die Anzahl der Dezimalstellen im Programm festgelegt werden. Bei Verwendung der generischen Datentypen für die Typisierung von Schnittstellenparametern oder Feldsymbolen müssen die technischen Eigenschaften nicht spezifiziert werden.

Der Initialwert, und bei den generischen Typen die initiale Feldlänge, sind Werte, die bei Verwendung von Kurzformen der Anweisungen TYPES und DATA implizit eingesetzt werden.

Die eingebauten Typen fixer Länge sind unterteilt in:

Numerische Typen

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

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

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

Berechungen mit I- und F-Feldern sind schneller als mit P-Feldern. Arithmetische Operationen mit I- und F-Feldern sind eng verwandt mit Maschinensprache-Anweisungen, während P-Felder größere Software-Unterstützung erfordern. Dennoch gibt es zu Daten vom Typ P keine Alternative, wenn es um Genauigkeit oder bestimmte Anforderungen an den Wertebereich geht.

Zeichenartige Typen

Von den fünf nichtnumerischen Typen bezeichnen wir die vier Typen C, D, N, T als zeichenartige Typen und Felder mit solch einem Typ als Zeichenfeld. Jede Stelle eines solchen Felds belegt im Speicher den Platz für den Code eines Zeichens. Zur Zeit arbeitet ABAP nur mit Einbyte-Codes wie ASCII und EBCDI.

Der Web Application Server unterstützt ab Release 6.10 sowohl Unicode- als auch Nicht-Unicode-Systeme. Nicht-Unicode-Systeme sind herkömmliche SAP-Systeme, bei denen in der Regel ein Zeichen durch ein Byte repräsentiert wird. Unicode-Systeme sind SAP-Systeme, die auf einer Unicode-Zeichendarstellung basieren und denen ein entsprechendes Betriebssystem samt Datenbank zugrunde liegt.

 

Hexadezimaltyp

Der übrige nichtnumerische Typ X interpretiert immer einzelne Bytes im Speicher. Ein Byte wird durch die zweistellige Hexadezimaldarstellung dargestellt. Die Felder dieses Typs heißen Hexadezimalfelder. In Hexadezimalfeldern kann auch eine Einzelbitverarbeitung durchgeführt werden.

Eingebaute elementare ABAP-Typen variabler Länge

Diese eingebauten elementaren Datentypen dienen der Typisierung von Einzelfeldern, deren Länge erst zur Laufzeit festgelegt wird. Es gibt zwei in ABAP eingebaute elementare Typen variabler Länge, die zusammenfassend auch Strings genannt werden:

·        STRING für Zeichenfolgen

Eine Zeichenfolge ist ein zeichenartiger Typ variabler Länge. Eine Zeichenfolge kann beliebig viele alphanumerische Zeichen aufnehmen. Die Länge einer Zeichenfolge ist die Anzahl der Zeichen multipliziert mit der Länge der internen Darstellung des Zeichens.

·        XSTRING für Bytefolgen

Eine Bytefolge ist ein Hexadezimaltyp variabler Länge. Eine Bytefolge kann beliebig viele Bytes aufnehmen. Die Länge einer Bytefolge entspricht der Anzahl der Bytes.

Beim Anlegen von Strings als Datenobjekte wird nur ein Verwaltungseintrag namens String-Header statisch vereinbart wird. Die eigentlichen Datenobjekte werden zur Laufzeit durch operationale Anweisungen dynamisch erzeugt und verändert.

Der Initialwert eines Strings ist der leere String mit der Länge 0. Eine Struktur, die einen String enthält wird intern als tiefe Struktur behandelt. Das bedeutet, dass es keine Konvertierungsregeln für Strukturen gibt, die Strings enthalten.

Eingebaute komplexe Datentypen

ABAP enthält keine eingebauten komplexen Datentypen, die bei der Definition von programmlokalen Datentypen oder von Datenobjekten verwendet werden können. Alle komplexen Datentypen beruhen auf den elementaren ABAP-Typen und werden erst im ABAP-Programm oder im ABAP Dictionary konstruiert.

 

Ende des Inhaltsbereichs