Anfang des Inhaltsbereichs

Funktionsdokumentation Datentypen im ABAP Dictionary  Dokument im Navigationsbaum lokalisieren

Verwendung

Der Datentyp im ABAP Dictionary ist die Sicht des Benutzers auf die Daten, d.h. das Datenformat an der Benutzeroberfläche. Dieses Datenformat hängt vom verwendeten Datenbanksystem ab. Beim Anlegen einer im ABAP Dictionary definierten Tabelle auf der Datenbank werden die im ABAP Dictionary definierten Datentypen in die Datentypen des jeweils verwendeten Datenbanksystems überführt.

Wird ein ABAP-Dictionary-Objekt (Datenelement, Struktur, Tabellentyp, Tabelle, View) in einem ABAP-Programm verwendet, so werden die Dictionary-Datentypen der Objektfelder in die entsprechenden ABAP-Datentypen konvertiert. In der folgenden Abbildung sehen Sie ein Beispiel einer solchen Umsetzung:

Diese Grafik wird im zugehörigen Text erklärt

Hinweis

Einige Datentypen besitzen eine vorgegebene Länge und legen Masken für die Ausgabe fest.

Vorhandene Datentypen

ACCP: Buchungsperiode. Die Länge ist bei diesem Datentyp auf 6 Stellen festgelegt. Das Format ist JJJJMM. Bei der Ein- und Ausgabe wird ein Punkt zwischen Jahr und Monat eingefügt, d.h. die Maske dieses Datentyps hat die Form ‘____.__’.

CHAR: Zeichenfolge. Felder vom Typ CHAR dürfen in Tabellen die maximale Länge von 1333 haben. Wenn Sie längere Zeichenfelder in Tabellen benötigen, müssen Sie den Datentyp LCHR auswählen. In Strukturen bestehen keine Begrenzungen bzgl. der Länge solcher Felder.

CLNT: Mandant. Mandantenfelder sind stets dreistellig.

CUKY: Währungsschlüssel. Felder dieses Typs werden von Feldern des Typs CURR referiert. Die Länge ist bei diesem Datentyp auf 5 Stellen festgelegt

CURR: Währungsfeld. Entspricht einem Betragsfeld DEC. Ein Feld dieses Typs muss auf ein Feld des Typs CUKY (Referenzfeld) verweisen. Die maximale Länge beträgt bei diesem Datentyp 31 Stellen.

DATS: Datum. Die Länge ist bei diesem Datentyp auf 8 Stellen festgelegt. Die Ausgabemaske kann über das Benutzerprofil festgelegt werden.

DEC: Rechen- oder Betragsfeld mit Komma, Vorzeichen und Tausenderpunkten. Ein DEC-Feld darf maximal 31 Stellen lang sein.

FLTP: Gleitpunktzahl. Die Länge (inklusive Dezimalstellen) ist bei diesem Datentyp auf 16 Stellen festgelegt.

DF34_RAW: Normalisierte dezimale Gleitpunktzahl. Darstellung auf der Datenbank basierend auf Typ RAW. Die Werte können gespeichert und nach ihrem numerischen Wert verglichen sowie in Indizes verwendet werden. Datenbankarithmetik steht nicht zur Verfügung. Dezimale Gleitpunkzahlen dieses Typs haben 34 Stellen in der Mantisse und entsprechen dem IEEE-754r-Standard. Gültige Werte sind Zahlen zwischen 1E-6143 und 9.999999999999999999999999999999999E+6144. plus den entsprechenden negativen Zahlen und Null.

DF34_SCL: Skalierte dezimale Gleitpunktzahl. Der Unterschied zu DF34_RAW ist, dass DF34_SCL eine zusätzliche Spalte vom Typ INT2 für die Skalierung hat. Diese Spalte ist zwar sichtbar, ihre Werte werden jedoch automatisch geschrieben und gelesen. Die Werte dieses Datentyps können gespeichert und nach ihrem numerischen Wert verglichen sowie in Indizes verwendet werden. Datenbankarithmetik steht nicht zur Verfügung. Das System unterstützt bis zu 34 Dezimalstellen in der Mantisse. Dezimale Gleitpunktzahlen dieses Typs werden intern gemäß des IEEE-754-Standards mit 34 Dezimalstellen dargestellt. Gültige Werte sind Zahlen zwischen 1E-6143 und 9.999999999999999999999999999999999E+6144. plus den entsprechenden negativen Zahlen und Null.

DF34_DEC: Dezimale Gleitpunktzahl. Darstellung auf der Datenbank mit Typ DEC, Länge und Anzahl der Dezimalstellen müssen vom Programmierer angegeben werden. Die Werte haben höchstens 31 Stellen auf der Datenbank mit höchstens 14 Dezimalstellen. Der Vorteil dieses Typs ist die Verfügbarkeit von Datenbankarithmetik. Der Nachteil ist, dass die Werte automatisch auf die angegebene Anzahl an Dezimalstellen gerundet werden, wenn sie in die Datenbank geschrieben werden. Beim Schreiben von Daten in die Datenbank kann es auch zu einem Überlauf kommen. In diesem Fall löst das System eine ABAP-OO-Ausnahme aus.

DF16_RAW: Normalisierte dezimale Gleitpunktzahl. Darstellung basiert auf Typ RAW. Die Werte können gespeichert und nach ihrem numerischen Wert verglichen sowie in Indizes verwendet werden. Datenbankarithmetik steht nicht zur Verfügung. Das System unterstützt bis zu 16 Dezimalstellen in der Mantisse. Dezimale Gleitpunktzahlen dieses Typs werden intern gemäß des IEEE-754r-Standards mit 16 Dezimalstellen dargestellt. Gültige Werte sind Zahlen zwischen 1E-383 und 9.999999999999999E+384, plus den entsprechenden negativen Zahlen und Null.

DF16_SCL: Skalierte dezimale Gleitpunktzahl. Der Unterschied zu DF16_RAW ist, dass DF16_SCL eine zusätzliche Spalte vom Typ INT2 für die Skalierung hat. Diese Spalte ist zwar sichtbar, ihre Werte werden jedoch automatisch geschrieben und gelesen. Die Werte dieses Datentyps können gespeichert und nach ihrem numerischen Wert verglichen sowie in Indizes verwendet werden. Datenbankarithmetik steht nicht zur Verfügung. Das System unterstützt bis zu 16 Dezimalstellen in der Mantisse. Dezimale Gleitpunktzahlen dieses Typs werden intern gemäß des IEEE-754r-Standards mit 16 Dezimalstellen dargestellt. Gültige Werte sind Zahlen zwischen 1E-383 und 9.999999999999999E+384, plus den entsprechenden negativen Zahlen und Null.

DF16_DEC: Dezimale Gleitpunktzahl. Darstellung auf der Datenbank mit Typ DEC, Länge und Anzahl der Dezimalstellen müssen vom Programmierer angegeben werden. Die Werte haben höchstens 15 Stellen auf der Datenbank mit höchstens 14 Dezimalstellen. Der Vorteil dieses Typs ist die Verfügbarkeit von Datenbankarithmetik. Der Nachteil ist, dass die Werte automatisch auf die angegebene Anzahl an Dezimalstellen gerundet werden, wenn sie in die Datenbank geschrieben werden. Beim Schreiben von Daten in die Datenbank kann es auch zu einem Überlauf kommen. In diesem Fall löst das System eine ABAP-OO-Ausnahme aus.

INT1: 1-Byte-Ganzzahl; Zahlbereich 0 bis 255. Die Länge ist bei diesem Datentyp auf 3 Stellen festgelegt.

INT2: 2-Byte-Ganzzahl; Zahlbereich -32767 bis 32767. Felder dieses Typs düfen nur für Längenfelder verwendet werden. Das System stellt diese Längenfelder direkt vor ein langes Feld (Typ LCHR, LRAW). Beim INSERT oder UPDATE auf das lange Feld trägt die Datenbankschnittstelle die tatsächlich verwendete Länge in das Längenfeld ein. Die Länge ist bei diesem Datentyp auf 5 Stellen festgelegt.

INT4: 4-Byte-Ganzzahl; Zahlbereich -2147483647 bis 2147483647. Die Länge ist bei diesem Datentyp auf 10 Stellen festgelegt.

LANG: Sprachenschlüssel. Besitzt ein eigenes Feldformat für Sonderfunktionen. Dieser Datentyp hat stets die Länge 1. Der Sprachenschlüssel wird an der Benutzeroberfläche zweistellig angezeigt, ist aber auf der Datenbank einstellig abgelegt. Die Konvertierung zwischen der Anzeige auf der Benutzeroberfläche und der Datenbank erfolgt über den Konvertierungs-Exit ISOLA. Dieser Konvertierungs-Exit wird einer Domäne mit Datentyp LANG automatisch beim Aktivieren zugeordnet.

LCHR: Beliebig lange Zeichenfolge, jedoch deklariert mit mindestens 256 Zeichen. Felder dieses Typs müssen Sie an das Ende transparenter Tabellen stellen (in jeder Tabelle kann es nur ein solches Feld geben). Diesen Feldern muss ein Längenfeld vom Typ INT2 vorausgehen. Beim INSERT oder UPDATE in ABAP-Programmen muss dieses Längenfeld mit der tatsächlich gewünschten Länge gefüllt werden. Wenn das Längenfeld nicht korrekt gefüllt ist, kommt es zu einem Datenverlust im Feld LCHR. Felder dieses Typs können nicht in der WHERE-Bedingung einer SELECT-Anweisung verwendet werden.

LRAW: Uninterpretierte Byte-Folge von beliebiger Länge, die jedoch mit einer Mindestlänge von 256 Zeichen deklariert werden muss. Felder dieses Typs müssen Sie an das Ende transparenter Tabellen stellen (in jeder Tabelle kann es nur ein solches Feld geben). Diesen Feldern muss ein Längenfeld vom Typ INT2 vorausgehen. Beim INSERT oder UPDATE in ABAP-Programmen muss dieses Längenfeld mit der tatsächlich gewünschten Länge gefüllt werden. Wenn das Längenfeld nicht korrekt gefüllt ist kommt es zu einem Datenverlust im Feld LRAW. Felder dieses Typs können nicht in der WHERE-Bedingung einer SELECT-Anweisung verwendet werden.

NUMC: Langes Zeichenfeld, in das nur Ziffern eingegeben werden können. Die Länge eines Feldes dieses Typs ist auf maximal 255 Stellen begrenzt.

PREC: Obsoleter Datentyp Die Länge für diesen Datentyp ist auf 2 Stellen festgelegt. Intern wird er jedoch wie INT2 behandelt. Dynprofelder vom Typ PREC sind auf 2 Stellen begrenzt und dürfen kein Vorzeichen enthalten.

QUAN: Menge. Entspricht einem Betragsfeld DEC. Ein Feld dieses Typs muss immer auf ein Einheitenfeld mit UNIT-Format (Referenzfeld) verweisen. Die maximale Länge beträgt bei diesem Datentyp 31 Stellen.

RAW: Uninterpretierte Byte-Folge. Felder vom Typ RAW dürfen in Tabellen nur die maximale Länge 255 haben. Sollen längere Raw-Felder in Tabellen benutzt werden, ist der Datentyp LRAW zu wählen.

RAWSTRING: Uninterpretierte Byte-Folge variabler Länge. Im Dictionary kann eine Länge für diesen Typ angegeben werden (mindestens 256 Zeichen). Dieser Datentyp kann in Typen (Datenelementen, Strukturen, Tabellentypen) und Domänen verwendet werden. Sie können Binärdaten vom Typ RAWSTRING in der Datenbank ablegen. Es bestehen Einschränkungen. Nähere Informationen dazu finden Sie in der Dokumentation der ABAP-Anweisung 'STRING'. In ABAP ist dieser Typ als Referenz auf einen Speicherbereich variabler Größe realisiert. Das System schlägt 132 Zeichen als Standard für die Ausgabelänge vor. Sie können keine Suchhilfen an Komponenten dieses Typs anhängen.

STRING: Zeichenfolge mit variabler Länge. Dieser Datentyp kann nur in Typen (Datenelementen, Strukturen, Tabellentypen) und Domänen verwendet werden. Im Dictionary kann eine Länge für diesen Typ angegeben werden (mindestens 256 Zeichen). Dieser Datentyp kann in Datenbanktabellen nur mit Einschränkungen verwendet warden. Nähere Informationen dazu finden Sie in der Dokumentation der ABAP-Anweisung 'STRING'. In ABAP ist dieser Typ als Referenz auf einen Speicherbereich variabler Größe realisiert. Das System schlägt 132 Zeichen als Standard für die Ausgabelänge vor. Sie können keine Suchhilfen an Komponenten dieses Typs anhängen.

SSTRING: Kurze Zeichenfolge variabler Länge. Sie können die Anzahl an Zeichen für diesen Typ im Dictionary festlegen (von 1 bis 1333). Dieser Datentyp kann in nur Typen (Datenelementen, Strukturen, Tabellentypen) und Domänen verwendet werden. Eine Verwendung in Datenbanktabellen ist möglich. Weitere Informationen dazu finden Sie in der Dokumentation der ABAP-Anweisung 'STRING’. In ABAP ist dieser Typ als Referenz auf einen Speicherbereich variabler Größe realisiert. Felder dieses Typs können nicht in der WHERE-Bedingung eines SELECT-Anweisung verwendet werden. Sie können auch nicht in Tabellenschlüsseln verwendet werden.

TIMS: Zeit. Die Länge ist bei diesem Datentyp auf 6 Stellen festgelegt. Das Format ist HHMMSS. Die Maske für die Ein- und Ausgabe hat die Form ‘__.__.__’.

UNIT: Einheit. Felder dieses Typs werden von Feldern des Typs QUAN referiert. Die Länge dieses Datentyps ist auf 2 oder 3 Stellen festgelegt.

VARC: Zeichenfeld variabler Länge. Das Anlegen neuer Felder dieses Datentyps wird nicht länger unterstützt.

Hinweis

Bei Verwendung der numerischen Datentypen CURR, DEC, FLPT, INT2, INT4 und QUAN können Sie wählen, ob ein Vorzeichen auf Dynpros ausgegeben werden muss oder nicht.

Bei den Datentypen CURR, DEC und QUAN werden Tausenderpunkte und Dezimalpunkte vom System gesetzt. Die Ausgabelänge (Zahl der Stellen plus die Zahl der notwendigen Aufbereitungszeichen wie Tausenderpunkte und Dezimalzeichen) ist höher als die gewählte Länge.

Das System lässt Aufbereitungszeichen weg, wenn die in der Domänenpflege angegebene Ausgabelänge zu klein ist.

Achtung

Eine Spalte vom Typ DF16_SCL oder DF34_SCL kann nicht im Primärschlüssel erscheinen.

Weitere Informationen:

Abbildung auf den ABAP-Datentyp

Eingebaute ABAP-Typen

 

 

Ende des Inhaltsbereichs