ABAP - Schlüsselwortdokumentation →  ABAP - Dictionary →  Klassische Objekte des ABAP Dictionary →  Datentypen →  Strukturen →  Technische Eigenschaften von Strukturen → 

Erweiterungskategorie von Strukturen

Die von SAP ausgelieferten Strukturen und Datenbanktabellen des ABAP Dictionarys können durch Customizing-Includes oder Append-Strukturen nachträglich erweitert werden. Solche Änderungen sind problematisch, wenn durch die Erweiterung die Strukturfragmentsicht verändert wird.

Aus diesem Grund gibt es eine Klassifizierung von Strukturen und Datenbanktabellen, die es erlaubt, Probleme im Zusammenhang mit Strukturerweiterungen zu erkennen und zu bearbeiten. Diese Klassifizierung wird während der Programmprüfung verwendet, um an allen Stellen, an denen mit Strukturen gearbeitet wird und bei denen spätere Strukturerweiterungen Syntaxfehler oder ein geändertes Programmverhalten verursachen können, eine Warnung zu erzeugen. Als Klassifizierung können bei der Definition einer Struktur oder Datenbanktabelle im ABAP Dictionary die in folgender Tabelle gezeigten Erweiterungskategorien angegeben werden.

Stufe Kategorie Bedeutung
1 nicht klassifiziert Die Struktur hat keine Erweiterungskategorie.
2 nicht erweiterbar Die Struktur darf nicht erweitert werden.
3 erweiterbar und zeichenartig Alle Strukturkomponenten und ihre Erweiterungen müssen zeichenartig flach sein.
4 erweiterbar und zeichenartig oder numerisch Alle Strukturkomponenten und ihre Erweiterungen müssen flach sein.
5 beliebig erweiterbar Alle Strukturkomponenten und ihre Erweiterungen können einen beliebigen Datentyp haben.

Die Warnungen der Programmprüfung sind - abhängig von den Auswirkungen der zulässigen Strukturerweiterungen - in die drei Stufen aus folgender Tabelle unterteilt.

Stufe Art der Prüfung Bedeutung
A Syntaxprüfung Eine Erweiterung, welche die Erweiterungskategorie der betreffenden Struktur vollständig ausschöpft, führt zu einem Syntaxfehler.
B erweiterte Prüfung Zulässige Erweiterungen können, müssen aber nicht in jedem Fall zu einem Syntaxfehler führen.
C erweiterte Prüfung Zulässige Erweiterungen können nicht zu Syntaxfehlern, jedoch zu semantischen Problemen durch geändertes Programmverhalten führen.

Beispiel

Wenn die Struktur ddic_struc im ABAP Dictionary zwar nur mit flachen Komponenten definiert, aber als Beliebig erweiterbar klassifiziert ist, führt der folgende Programmabschnitt zu einer Warnung der Syntaxprüfung. Wenn die Struktur nach der Auslieferung des Programms erlaubterweise um eine tiefe Komponente erweitert würde, wäre das Programm syntaktisch inkorrekt und nicht mehr ausführbar. Deshalb muss in diesem Fall entweder die Struktur ddic_struc im ABAP Dictionary als Erweiterbar und zeichenartig klassifiziert werden oder es muss im Programm auf die Offset-/Längenangabe verzichtet werden.

DATA: my_struc TYPE ddic_struc,
      str TYPE string,
      off TYPE i,
      len TYPE i.
...
str = my_struc+off(len).