Ansicht
Dokumentation

ABAPDATA_SIMPLE - DATA SIMPLE

ABAPDATA_SIMPLE - DATA SIMPLE

CPI1466 during Backup   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

DATA, TYPE abap_type

Kurzreferenz



DATA ${ ${var$[(len)$] TYPE abap_type $[DECIMALS dec$]$}
     $| ${var $[TYPE abap_type $[LENGTH len$] $[DECIMALS dec$]$]$} $}
     $[VALUE val$|${IS INITIAL$}$]
     $[READ-ONLY$].

Wirkung

Durch die Angabe eines eingebauten Datentyps abap_type wird eine elementare Variable var definiert. Für abap_type können alle eingebauten ABAP-Typen verwendet werden, außer den internen Typen b und s.

Syntax und Bedeutung von LENGTH, len, DECIMALS und dec sind vollständig gleichbedeutend mit der Definition von elementaren Datentypen mit TYPES und müssen innerhalb der für den jeweiligen Typ vorgegebenen Bereiche angegeben werden. Sie dienen hier aber zur Erzeugung eines gebundenen Datentyps. Wenn bei den ABAP-Typen c, n, p und x die Angabe von len bzw. dec weggelassen wird, wird der gebundene Typ mit der typgerechten Standardlänge und bei p ohne Nachkommastellen erzeugt.

Hinweise

  • Aus Gründen der Lesbarkeit wird empfohlen, keine Angaben wegzulassen und für die Längenangabe len immer den Zusatz LENGTH statt Klammern zu verwenden.
  • Die nicht angebbaren internen Typen b und s können durch Bezug auf die eingebauten Datentypen INT1 und INT2 des ABAP Dictionary erreicht werden.

Diese Anweisungen deklarieren drei Variablen und legen ihren Startwert fest.



leerer String
XSTRING Bytefolge (X-String) variabel leerer X-String

Beispiel

DATA NUMBER TYPE I.

Das Feld NUMBER wird mit Typ I angelegt und kann anschließend im Programm verwendet werden. Insbesondere können diesem Feld Zahlenwerte zugewiesen und mit ihm Rechnungen durchgeführt werden (ABAP-Zahlentypen).

Zusatz 2

... LIKE f1
Siehe Kein LIKE-Bezug auf Dictionary-Typen.

Wirkung

Das Feld f wird mit den gleichen Feldeigenschaften angelegt, wie sie das bereits bekannte Datenobjekt f1 hat. Es ist jedes Datenobjekt erlaubt (Felder, Parameter, Strukturen, ...), sofern das Datenobjekt vollständig typisiert ist.
f1 kann eine beliebige Dictionary-Referenz sein.

Beispiel

DATA TABLE_INDEX LIKE SY-TABIX.

Das Feld TABLE_INDEX hat jetzt die gleichen Eigenschaften wie SY-TABIX (Index für interne Tabellen).

Hinweis

Wann immer sinnvoll, sollte man diesen Zusatz verwenden. Typänderungen von Feldern, auf die man sich bezieht, werden vom ABAP-Laufzeitsystem automatisch berücksichtigt. Außerdem werden keine unnötigen und evtl. auch ungewollten Konvertierungen durchgeführt.

Zusatz 3

... TYPE LINE OF itabtype

Wirkung

Der angegebene Typ itabtype muß den Typ einer internen Tabelle bezeichnen. Es wird ein Datenobjekt angelegt, das den Zeilentyp des angegebenen Tabellentyps hat.

Beispiel

TYPES TAB_TYPE TYPE STANDARD TABLE OF I WITH NON-UNIQUE
                    DEFAULT KEY INITIAL SIZE 10.
DATA  TAB_WA   TYPE LINE OF TAB_TYPE.

Das Datenobjekt TAB_WA hat jetzt die gleichen Eigenschaften wie eine Zeile des Tabellentyps TAB_TYPE und damit den Typ I.

Zusatz 4

... LIKE LINE OF itab Siehe Kein LIKE-Bezug auf Dictionary-Typen.

Wirkung

Das Datenobjekt itab muß eine interne Tabelle mit oder ohne Kopfzeile sein. Es wird ein Datenobjekt angelegt, das den Zeilentyp der angegebenen Tabelle hat.

Beispiel

DATA TAB    TYPE STANDARD TABLE OF I WITH NON-UNIQUE
                 DEFAULT KEY INITIAL SIZE 10.
DATA TAB_WA LIKE LINE OF TAB.

Das Datenobjekt TAB_WA hat jetzt die gleichen Eigenschaften wie eine Zeile der Tabelle TAB und damit den Typ I.

Zusatz 5

... TYPE REF TO cif

Zusatz 6

... TYPE REF TO DATA

Wirkung

Das Datenobjekt f wird als Referenzvariable deklariert.

Referenzvariablen enthalten Referenzen (Zeiger) auf Datenobjekte.

Beispiel

DATA: numref     TYPE REF TO DATA,
      number     TYPE I VALUE 123.
FIELD-SYMBOLS: <fs> TYPE ANY.

GET REFERENCE OF number INTO numref.
ASSIGN numref->* TO <fs>.

In diesem Beispiel wird eine Referenz auf das Datenobjekt number angelegt. Anschließend wird das Datenobjekt mittels des Dereferenzierungsoperators ->* dem Feldsymbol <fs> zugeordnet. Mit dem Feldsymbol kann jetzt wie üblich gearbeitet werden.

Zusatz 7

... VALUE lit

Wirkung

Das Feld f erhält statt des Initialwertes nach obiger Tabelle als Anfangswert das Literal lit. Es ist auch die Angabe einer Konstante erlaubt. Statt eines Literals kann auch die Angabe IS INITIAL verwendet werden. In diesem Fall wird das Feld auf den typspezifischen Initialwert vorbelegt. Diese Form ist besonders im Zusammenhang mit der CONSTANTS-Anweisung notwendig, da bei dieser der VALUE-Zusatz immer angegeben werden muß.

Beispiel

DATA: NUMBER      TYPE I        VALUE 123,
      FLAG                      VALUE 'X',
      TABLE_INDEX LIKE SY-TABIX VALUE 45.

Das Feld NUMBER vom Typ I wird angelegt und erhält als Anfangswert nicht 0 (Initialwert), sondern 123; das neu angelegte Feld FLAG vom Typ C (Länge 1) hat jetzt den Inhalt 'X'; TABLE_INDEX hat den Wert 45, da das Feld SY-TABIX ein Zahlenfeld ist.

Zusatz 8

... DECIMALS n

Wirkung

Dieser Zusatz ist nur beim Feldtyp P notwendig. Das Feld hat bei Rechnungen und bei der Ausgabe n Dezimalstellen, wobei n zwischen 0 und 14 liegen muß.

Standardmäßig ist bei neu erstellten Programmen das Attribut "Festpunktarithmetik" angekreuzt. Wird dieses Attribut ausgeschaltet, dann wird die DECIMALS-Angabe nur bei der Ausgabe berücksichtigt, nicht aber beim Rechnen. Der Programmierer muß dann ggf. selbst für kommagerechtes Rechnen sorgen, indem er mit geeigneten Zehnerpotenzen multipliziert oder durch diese dividiert (COMPUTE).

Es wird empfohlen, nur mit eingeschalteter Festpunktarithmetik zu rechnen. In diesem Fall werden auch Zwischenergebnisse (Division!) mit größtmöglicher Genauigkeit (31 Stellen) berechnet.
Zur Abwägung, ob der Festpunkttyp P oder der Gleitpunkttyp F besser geeignet ist, vgl. "ABAP-Zahlentypen".

Zusatz 9

... READ-ONLY

Variante 2

DATA f(len).

Zusätze:

wie bei Variante 1

Wirkung

Das Feld f wird in der Länge len angelegt.
Diese Variante darf nur angewendet werden für Felder vom Typ C, N, P und X. Felder, die einen anderen Typ haben, können nur in der Standardlänge angelegt werden (Tabelle bei Wirkung von Variante 1).
Siehe Falsche Längenangabe bei Deklaration.

Die zulässigen Längen hängen vom Feldtyp ab:

Typ   Zulässige Längen
C     1 - 65535
N     1 - 65535
P     1 - 16
X     1 - 65535

Hinweis

Pro Byte können (ein Zeichen bzw.) zwei Dezimal- bzw. Hexadezimalziffern dargestellt werden. Bei P-Feldern wird eine Stelle für das Vorzeichen reserviert, so daß ein P-Feld der Länge 3 höchstens 5 Ziffern enthalten kann, ein X-Feld der Länge 3 hingegen 6. Beide haben Ausgabelänge 6.






rdisp/max_wprun_time - Maximum work process run time   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11712 Date: 20240419 Time: 080845     sap01-206 ( 147 ms )