Ansicht
Dokumentation
ABAPDATA_SIMPLE - DATA SIMPLE
CPI1466 during Backup BAL_S_LOG - Application Log: Log header dataDiese Dokumentation steht unter dem Copyright der SAP AG.
DATA, TYPE abap_type
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 )