Ansicht
Dokumentation

ABAPINCLUDE_STRUCTURE - INCLUDE STRUCTURE

ABAPINCLUDE_STRUCTURE - INCLUDE STRUCTURE

BAL Application Log Documentation   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

INCLUDE Syntaxdiagramm

INCLUDE STRUCTURE



Syntax

INCLUDE { {TYPE struc_type} | {STRUCTURE struc} }
        [AS name [RENAMING WITH SUFFIX suffix]].


Zusätze:

1. ... AS name

2. ... RENAMING WITH SUFFIX suffix

Wirkung

Diese Anweisung darf nur innerhalb einer Strukturdefinition mit den Zusätzen BEGIN OF und END OF der Anweisungen TYPES, DATA, CLASS-DATA und STATICS aufgeführt werden. Sie übernimmt sämtliche Komponenten des strukturierten Typs struc_type bzw. der Struktur struc an der gegebenen Stelle in die aktuelle Strukturdefinition. Die INCLUDE-Anweisung erzeugt keine Unterstruktur, d.h., die Komponenten werden so eingefügt, als würden sie an Stelle der Anweisung INCLUDE einzeln aufgeführt.

struc_type kann ein programmlokaler strukturierter Typ, ein sichtbarer strukturierter Typ einer globalen Klasse oder eines globalen Interfaces oder eine Struktur aus dem ABAP Dictionary sein. struc muss eine Struktur des gleichen Programms oder eine sichtbares Attribut einer globalen Klasse oder eines globalen Interfaces sein.

Hinweise

  • Die hier beschriebene Anweisung INCLUDE sollte aus folgenden Gründen nicht mehr verwendet werden:
  • Wenn mit der Anweisung INCLUDE weitere Strukturkomponenten zu vorhandenen Komponenten hinzugefügt werden oder mehrere INCLUDE-Anweisungen innerhalb einer Struktur verwendet werden, kann es zu Namenskonflikten und dadurch zu Syntaxfehlern kommen. Dies ist besonders problematisch, wenn Strukturen eingebunden werden, die nicht im gleichen Programm definiert sind und diese nachträglich verändert werden.

  • Die eingebundenen Strukturen können nicht uneingeschränkt als solche adressiert werden.

  • Die notwendigen Metainformationen werden für jede Komponente einer eingebundenen Struktur erneut abgelegt, wogegen die Metainformationen für die Komponenten einer Unterstruktur nur einmal bei der Definition der Unterstruktur abgelegt sind.

  • Mit INCLUDE eingebundene Strukturen können im Gegensatz zu echten Unterstrukturen nicht beim Einbinden als statische Boxen deklariert werden.

Statt der Anweisung INCLUDE sollten deshalb wenn möglich echte Unterstrukturen gebildet werden. Zumindest sollte aber Zusatz RENAMING WITH SUFFIX zur Vermeidung von Namenskonflikten verwendet werden. Diese Empfehlung gilt analog auch für das Einbinden von Strukturen im ABAP Dictionary, wo insbesondere die Strukturen von Datenbanktabellen keine echten Unterstrukturen enthalten können.

  • Außerhalb von ABAP Objects können für struc beim Zusatz STRUCTURE auch noch flache Strukturen, Datenbanktabellen oder Views des ABAP Dictionarys angegeben werden.

  • In mit CONSTANTS deklarierten konstanten Strukturen können mit INCLUDE keine Komponenten eingebunden werden, da diesen keine Startwerte zugewiesen werden könnten.

  • Bezüglich ihrer Ausrichtung verhalten sich mit INCLUDE eingebundene Strukturen wie Unterstrukturen, d.h. es können Ausrichtungslücken vor der ersten bzw. hinter der letzten Komponente auftreten, die nicht auftreten, wenn die Komponenten direkt deklariert werden.

  • Bei Übernahme einer statischen Box aus einer Struktur in eine andere Struktur wird sie in ihrer Eigenschaft als Boxed Component übernommen.


Zusatz 1

... AS name

Wirkung

Durch die Angabe eines Namens name hinter dem Zusatz AS können entweder alle Komponenten der eingebundenen Struktur struc_type bzw. struc gemeinsam über den Namen name adressiert werden oder einzelne Komponenten mit Hilfe des Strukturkomponenten-Selektors (-).

Hinweis

Ein mit AS name angegebener Name name dient nur einer zusätzlichen Adressierungsmöglichkeit und wird in Anweisungen wie MOVE-CORRESPONDING oder SELECT INTO CORRESPONDING nicht berücksichtigt. Eine mit RENAMING WITH SUFFIX umbenannte Komponente hat dagegen wirklich diesen Namen und wird entsprechend berücksichtigt.

Zusatz 2

... RENAMING WITH SUFFIX suffix

Wirkung

Mit dem Zusatz RENAMING WITH SUFFIX wird jede einzelne Komponente durch das Anhängen der Endung suffix umbenannt, wodurch Namenskonflikte zwischen gleichnamigen Komponenten verhindert werden können. suffix muss direkt angegeben werden.

Hinweis

Die Verwendung des Zusatzes RENAMING WITH SUFFIX erlaubt es insbesondere, eine einzige Struktur mehrmals einzubinden.

Beispiel

In diesem Beispiel wird die Struktur week durch wiederholte Übernahme der Komponenten des strukturierten Typs t_day definiert. Die Komponenten von week liegen alle auf einer Ebene und lassen sich wie folgt ansprechen: week-work_mon, week-free_mon, week-work_tue usw. Alternativ ist aber auch folgende Adressierung möglich: week-monday-work, week-monday-free, week-tuesday-work usw.

TYPES: BEGIN OF t_day,
         work TYPE c LENGTH 8,
         free TYPE c LENGTH 16,
       END OF t_day.

DATA BEGIN OF week.
  INCLUDE TYPE t_day AS monday    RENAMING WITH SUFFIX _mon.
  INCLUDE TYPE t_day AS tuesday   RENAMING WITH SUFFIX _tue.
  INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed.
  ...
DATA END OF week.



Kurzreferenz






ABAP Short Reference   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8686 Date: 20240427 Time: 062756     sap01-206 ( 134 ms )