Show TOC Anfang des Inhaltsbereichs

Definition und Sichtbarkeit von Datentypen  Dokument im Navigationsbaum lokalisieren

Die folgende Abbildung zeigt wo die Datentypen in ABAP definiert werden können:

Diese Grafik wird im zugehörigen Text erklärt

Wir unterscheiden zwischen

·        Eingebauten ABAP-Typen, die im Kernel vordefiniert sind.

·        Programmlokalen Datentypen, die in ABAP-Programmen definiert werden können

·        Datentypen im Repository, die programmübergreifend allen Repository-Objekten zur Verfügung stehen.

Sichtbarkeit von Datentypen

·        Die eingebauten ABAP-Typen (c, d, f, i, n, p, t, x) sind immer sichtbar. Es können keine gleichnamigen programmlokalen Typen oder Typen im ABAP Dictionary angelegt werden.

·        Bei der Sichtbarkeit von programmlokalen Datentypen ist zwischen lokalen Datentypen in Prozeduren und globalen Datentypen zu unterscheiden. In Prozeduren definierte Datentypen verschatten gleichnamige Datentypen, die im globalen Deklarationsteil definiert werden. Alle programmlokalen Datentypen verschatten wiederum gleichnamige Datentypen im ABAP Dictionary. Dies gilt auch für Datentypen aus Typgruppen.

·        Bei der Sichtbarkeit von Datentypen im ABAP Dictionary ist zur Zeit noch zwischen eigenständigen Datentypen und Datentypen in Typgruppen zu unterscheiden. Datentypen in Typgruppen verschatten gleichnamige eigenständige Datentypen. Dies sollte jedoch eine Ausnahmesituation sein. Alle Datentypen des Dictionarys sollten in einem Namensraum liegen. Beim Anlegen eines eigenständigen Datentyps gibt das System eine Warnung aus, falls der Name mit dem Namen einer Typgruppe gefolgt von einem Unterstrich beginnt. Umgekehrt können keine Typgruppen angelegt werden, wenn es schon einen eigenständigen Datentyp mit dem gleichen Namen gefolgt von einem Unterstrich gibt.

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.

 

Ende des Inhaltsbereichs