Show TOC

Namenskonventionen für SpeicherobjekteLocate this document in the navigation structure

Verwendung

Anonyme Speicherobjekte sind Objekte, die im ABAP-Programm nicht direkt über den Namen, sondern immer nur indirekt über eine Referenz angesprochen werden können. Dazu gehören

  • Strings

  • Interne Tabellen

  • Klasseninstanzen (Objekte)

  • Anonyme Datenobjekte

Hinweis

Für Strings und interneTabellen gilt Werte-Semantik, so dass die Angabe des Variablennamens ausreicht, um deren Dateninhalt zu bearbeiten. Eine Notation zur Bezeichnung anonymer Datenobjekte ist hier notwendig, um ein Speicherobjekt eindeutig zu bezeichnen, da zum Beispiel beim String-Sharing mehrere String-Variablen auf eine gemeinsame Speicheradresse zeigen können.

Dagegen sind bei Klasseninstanzen, erzeugt mit der Anweisung CREATE OBJECT, und anonymen Datenobjekten, erzeugt mit der Anweisung CREATE DATA, nur deren Referenzen im Programm ansprechbar. Es gilt hier Referenz-Semantik, da immer erst dereferenziert werden muss, um auf die Daten des Objektes zugreifen zu können.

Anonyme Speicherobjekte können im Programm nicht direkt angesprochen werden, jedoch sehr wohl im Debugger und in anderen Analysewerkzeugen, und zwar unter Verwendung zugehöriger Speicherobjekt-Bezeichner.

Namenskonvention für Speicherobjekt-Bezeichner

Für die Speicherobjekt-Bezeichner gilt nachfolgende Namenskonvention.

Grundsätzlich sind Speicherobjekt-Bezeichner in geschweiften Klammern eingefasst, die eine Abkürzung samt Doppelpunkt und die interne Identifikation beinhalten.

  • Für die Abkürzungen gelten folgende Vereinbarungen:

    Abkürzung

    Speicherobjekt

    S

    Strings

    T

    Interne Tabellen

    O

    Instanzen von Klassen

    A

    Anonyme Datenobjekte

    C

    Klasse

  • Für die internen Identifikationen gelten folgende Vereinbarungen:

    • Bei Strings, internen Tabellen, Klasseninstanzen und anonymen Datenobjekten folgt die interne Identifikation der Form <x> oder <x>.<y>. Dabei gibt <x> die intern verwendete Objektidentifikation und <y> die Identifikation der internen Shared Objects Version an.

    • Bei Klasseninstanzen können Sie ein Ausrufezeichen und den Namen einer Oberklasse angeben, um zu gewährleisten, dass das Objekt aus Sicht dieser Oberklasse angezeigt wird.

    • Bei Klassen geben Sie anstelle der Identifikation den Klassennamen ein.

  • Im Anschluss an die interne Identifikation ( beziehungsweise den Klassennamen ) können Sie einen Stern eingeben, der einen Kommentar oder nicht interpretierte Zusatzinformationen einleitet.

Beispiel

In der folgenden Tabelle finden Sie Beispiele gültiger Speicherobjekt-Bezeichner.

Bezeichnung

Erklärung

{S:1}

String mit der internen Identifikation 1

{S:1.3}

String mit der internen Identifikation 1 und der internen Shared Objects Version 3

{O:3*\CLASS=MY_CLASS}

Instanz der Klasse my_class mit der internen Identifikation 3

{O:1!MY_SUPER_CLASS}-ATTR

Attribut attr der Instanz mit der internen Identifikation 1 aus der Sicht der Oberklasse my_super_class

{C:MY_CLASS}-ATTR

Klassenattribut attr der Klasse my_class