ABAPINCLUDE_STRUCTURE - INCLUDE STRUCTURE

BAL_S_LOG - Application Log: Log header data   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

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 OFund END OF der Anweisungen TYPES,DATA, CLASS-DATAund STATICS aufgeführtwerden. 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 keineUnterstruktur,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 einerglobalen Klasse oder eines globalen Interfaces oder eine Struktur aus dem ABAP Dictionary sein. strucmuss 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ügtwerden oder mehrere INCLUDE-Anweisungen innerhalb einer Struktur verwendet werden, kann es zuNamenskonflikten und dadurch zu Syntaxfehlern kommen. Dies ist besonders problematisch, wenn Struktureneingebunden 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 einerUnterstruktur nur einmal bei der Definition der Unterstruktur abgelegt sind.

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

Statt der Anweisung INCLUDE sollten deshalb wenn möglich echteUnterstrukturengebildet werden. Zumindest sollte aber Zusatz RENAMING WITH SUFFIX zur Vermeidung von Namenskonfliktenverwendet werden. Diese Empfehlung gilt analog auch für das Einbinden von Strukturen im ABAPDictionary, 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 nochflache Strukturen, Datenbanktabellen oderViews des ABAP Dictionarys angegeben werden.

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

  • Bezüglich ihrer Ausrichtung verhalten sich mit INCLUDE eingebundene Strukturen wie Unterstrukturen, d.h. es könnenAusrichtungslückenvor 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 Komponentender 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öglichkeitund wird in Anweisungen wie MOVE-CORRESPONDINGoder SELECT INTO CORRESPONDINGnicht 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 derEndung 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 Komponentendes strukturierten Typs t_day definiert. Die Komponenten von week liegen alle auf einerEbene und lassen sich wie folgt ansprechen: week-work_mon, week-free_mon, week-work_tueusw. 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


PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 8777 Date: 20120526 Time: 212937     triton ( 219 ms )