Einbetten einer verwendeten Component
Um eine fremde Component (unabhängig davon, ob es sich um eine oberflächenfreie Component
(siehe Arbeiten mit oberflächenfreien Components) oder
eine vollständige Component handelt) zu verwenden, muss zunächst eine
Component-Verwendung deklariert werden. Die dafür nötigen Schritte
werden im Folgenden erläutert:
Vorgehensweise
Wählen Sie zunächst durch Doppelklick in der Objektliste die Component aus, die Sie als
nächstes bearbeiten wollen. Sie befinden sich dann im Component
Editor.
- Wählen Sie einen Namen für die neue Component-Verwendung und tragen Sie diesen in die
erste Spalte der Tabelle ein.
- Wählen Sie die zu verwendende Component aus (F4-Hilfe).

- Anschließend sollten Sie folgende Überlegung anstellen:
- Soll die fremde Component nur von einer einzigen View Ihrer Component verwendet
werden ist es sinnvoll, die Instanz der fremden Component in einer
Controller-Methode dieser View zu erzeugen.
- Soll die fremde Component jedoch für mehrere Views zugänglich sein, sollte die
Instanz der fremden Component an einem zentralen Ort erzeugt werden. Dafür bietet
sich die Methode wdDoInitdes Component-Controllers an.
Unabhängig davon, ob Sie den Controller einer View oder einen View-übergreifenden
Controller als Instanziierungspunkt für die fremde Component gewählt haben, muss die
fremde Component nun auch auf der Registerkarte Eigenschaften dieses Controllers
eingetragen werden. Die weitere Vorgehensweise dafür ist die folgende:
- Doppelklicken Sie auf das gewünschte Objekt in der Objektliste (also auf den Eintrag
einer View oder eines Controllers). Sie werden je nach Objekt auf den
Controller-Editor oder den View-Editor
geführt.
- Wechseln Sie auf die Registerkarte Eigenschaften.
- Um in der Tabelle Verwendete Controller/Components eine neue
Verwendung anzulegen klicken Sie die Anlegen-Schaltfläche. Stellen Sie sicher, dass sich
der Editor im Änderungsmodus befindet.
- Im folgenden Dialogfenster werden Ihnen alle zur Verwendung verfügbaren Components und
Controller aufgelistet. Neben allen globalen Controllern der eigenen Component finden
Sie in dieser Liste auch die fremde Component sowie deren Interface-Controller.
Ob Sie
an dieser Stelle nur die fremde Component oder sowohl die fremde Component als auch
deren Interface-Controller auswählen hängt von folgender Überlegung ab:
Anzeigen der Interface-View einer verwendeten Component
Wenn Sie die Interface-View einer eingebetteten Component zur Anzeige bringen wollen (entweder als Default-View eines Windows oder View-Containers oder durch explizite Navigation zu dieser Interface-View), wird die zugehörige Component, falls nötig, durch das Web Dynpro Framework erzeugt.
Hinweis Wird eine verwendete Component mit Hilfe der Methode
IF_WD_COMPONENT_USAGE~DELETE_COMPONENT( )
gelöscht, so wird die zugehörige Interface-View ausgeblendet. Wenn die Component
anschließend wieder mit IF_WD_COMPONENT_USAGE~CREATE_COMPONENT(
) erzeugt wird, führt dies nicht automatisch zur Anzeige der
zugehörigen Interface-View, auch dann nicht, wenn diese Interface-View als Default-View in
einem Window oder View-Container eingebettet ist. Um die Interface-View zur Anzeige zu
bringen, muss eine Navigation zu dieser Interface-View oder zu einer View erfolgen, die
diese Interface-View einbettet.