Anfang des Inhaltsbereichs

Der TYPE-Zusatz Dokument im Navigationsbaum lokalisieren

Der TYPE-Zusatz wird in verschiedenen ABAP-Anweisungen zur Definition von Datentypen und zur Typisierung von Schnittstellenparametern oder von Feldsymbolen verwendet. Je nach Syntax und Kontext kann der TYPE-Zusatz dabei eine andere Bedeutung haben:

Bezug auf bekannte Datentypen

Mit dem Zusatz

TYPE <type>

kann in den unten aufgeführten ABAP-Anweisungen auf alle an dieser Stelle sichtbaren Datentypen <type> verwiesen werden. Dabei ist der Ausdruck <type> entweder der Name eines Datentyps oder der Ausdruck

LINE OF <table-type>

In diesem Fall bezieht sich der TYPE-Zusatz sinngemäß auf den Zeilentyp eines an dieser Stelle sichtbaren Tabellentyps <table-type>.

ABAP-Anweisungen mit TYPE-Bezug

TYPES <t> TYPE <type>.

Der neue Datentyp <t> entspricht vollständig dem bekannten Typ <type>.

DATA <f> TYPE <type>.

CLASS-DATA <f> TYPE <type>.

CONSTANTS <f> TYPE <type>.

STATICS <f> TYPE <type>.

PARAMETERS <f> TYPE <type>.

Das Datenobjekt <f> erhält einen Datentyp, der vollständig dem bekannten Typ <type> entspricht.

CREATE DATA <dref> TYPE <type>.

FORM <sub> ... USING|CHANGING <p> TYPE <type> ...

Die technischen Eigenschaften des Formalparameters <p> sind vollständig durch die Eigenschaften des bekannten Typs <type> festgelegt. Es dürfen nur Aktualparameter des gleichen Typs übergeben werden.

METHODS <meth> ... IMPORTING|EXPORTING|CHANGING <p> TYPE <type> ...

Die technischen Eigenschaften des Formalparameters <p> sind vollständig durch die Eigenschaften des bekannten Typs <type> festgelegt. Es dürfen nur Aktualparameter des gleichen Typs übergeben werden.

FIELD-SYMBOLS <fs> TYPE <type>.

Die technischen Eigenschaften des Feldsymbols <FS> sind vollständig durch die Eigenschaften des bekannten Typs <type> festgelegt. Es dürfen nur Datenobjekte des gleichen Typs zugewiesen werden.

Sichtbarkeit von Datentypen

Beim Bezug auf bekannte Datentypen mit dem TYPE-Zusatz spielt die Sichtbarkeit der Datentypen eine Rolle.

Die Abbildung veranschaulicht die Sichtbarkeit von programmlokalen und Dictionary-Datentypen:

Diese Grafik wird im zugehörigen Text erklärt

Das System sucht von innen nach außen. Wenn im Programm TYP1 in einem TYPE-Zusatz angegeben ist, wird sowohl in der Prozedur als auch im Rahmenprogramm der Typ aus dem Dictionary verwendet. Wird TYP2 in der Prozedur angegeben, wir der lokale Typ der Prozedur verwendet. Wird TYP2 im Rahmenprogramm angegeben, wird der Typ des Rahmenprogramms verwendet. TYP2 aus dem Dictionary ist unsichtbar. Wird TYP3 angegeben, wird sowohl in der Prozedur als auch im Rahmenprogramm der Typ des Rahmenprogramms verwendet. TYP3 aus dem Dictionary ist unsichtbar.

Konstruktion neuer Datentypen

Mit dem Zusatz TYPE können in den ABAP-Anweisungen TYPES, DATA, CONSTANTS und STATICS neue Datentypen konstruiert werden. In der Anweisung TYPES sind dies eigenständige programmlokale Datentypen. In den anderen Anweisungen sind es Attribute von neuen Datenobjekten.

Für die Konstruktion neuer Datentypen kann der TYPE-Zusatz mit folgenden Typ-Konstruktoren verwendet werden:

REF TO <class>|<interface>

BEGIN OF <struct>.
  ...
END OF <struct>.

<tabkind> OF <linetype> [WITH <key>]

Solche Datentypen sind nur während der Laufzeit eines ABAP Programms vorhanden.

Bezug auf generische Typen bei der Typisierung

Für die Typisierung von Schnittstellenparametern und Feldsymbolen ist ein Satz vordefinierter generischer Typen in die Syntax eingebaut worden, die nur in den Anweisungen FORM, METHODS und FIELD-SYMBOLS hinter TYPE verwendet werden können.

Generische Typen für die Typisierung

ANY

Vollständig generischer Typ.

ANY TABLE

Generischer Typ für alle Tabellen

INDEX TABLE

Generischer Typ für Tabellen mit linearem Index.

TABLE

STANDARD TABLE

Generische Typen für unsortierte Tabellen mit linearem Index.

SORTED TABLE

Generischer Typ für sortierte Tabellen mit linearem Index.

HASHED TABLE

Generischer Typ für Tabellen mit Hash-Verwaltung.

Diese Typen können nicht bei der Definition von programmlokalen Datentypen oder von Datenobjekten verwendet werden. Sie ermöglichen ausschließlich die Überprüfung des Datentyps von Feldern, die an Prozeduren übergeben oder Feldsymbolen zugewiesen werden.

Ende des Inhaltsbereichs