IF_WD_RR_VIEW_CNT_ASSIGNMENT
Das Interface IF_WD_RR_VIEW_CNT_ASSIGNMENT gehört zur API des Web-Dynpro-Runtime-Repositories.
Das Interface IF_WD_RR_VIEW_CNT_ASSIGNMENT ermöglicht den Zugriff auf die Metadaten eines Web-Dynpro-View-Containers. Ein View-Container ist ein ausgezeichneter Bereich innerhalb einer View, in den eine andere View eingebettet werden kann.
Eine View kann direkt in ein Web-Dynpro-Window oder in einen View-Container einer anderen View eingebettet werden. In beiden Fällen wird der Einbettungsposition der View ein Beschreibungsobjekt, die sogenannte View-Usage zugeordnet (siehe Interface IF_WD_RR_VIEW_USAGE). Enthält die eingebettete View wiederum View-Container, also Bereiche, in denen Views eingebettet werden können, so aggregiert die View-Usage dieser View View-Container-Assignments.
Eine View des Namens VIEW_MAIN sei in ein Window WINDOW_MAIN einer Web-Dynpro-Component eingebettet. Die Einbettungsposition der View im Window sei durch die View-Usage USAGE_VIEW_MAIN ausgedrückt. Der Zugriff auf die View-Container-Assignments der View VIEW_MAIN erfolgt z.B. in einer Methode des Component-Controllers wie folgt:
|
data:
l_component_api type ref to if_wd_component,
l_window_info type ref to if_wd_rr_window,
l_view_usage type ref to if_wd_rr_view_usage,
l_view_cnt_assignments type wdrr_vca_objects.
l_component_api = wd_this->wd_get_api( ).
l_component_info = l_component_api->get_component_info( ).
l_window_info = l_component_api->get_window_info(
window_name = 'WINDOW_MAIN' ).
l_view_usage = l_window_info->get_view_usage(
name = 'USAGE_VIEW_MAIN' ).
l_view_cnt_assignemtns = l_view_usage->get_view_cnt_assignemtns( ). |
Diese Methode bettet die angegebene View in den Container ein.
Ergebnis
Name |
Beschreibung |
RESULT (ref to IF_WD_RR_VIEW_USAGE) |
Erzeugte View-Usage |
Parameter
Name |
Beschreibung |
NAME (Typ STRING) |
Name der View-Usage |
USED_VIEW_NAME (Typ STRING) |
Name der View, die eingebettet werden soll |
COMPONENT_USAGE_NAME (Typ STRING) |
Name der Component-Verwendung der Component, zu der die einzubettende View gehört. Dieser Parameter ist optional und muss nur dann angegeben werden, wenn die View zu einer eingebetteten Component gehört |
Diese Methode löscht die angegebene View-Usage.
Voraussetzung ist, dass die zu löschende View-Usage dynamisch erzeugt wurde (z.B. mit den Methoden IF_WD_RR_VIEW_CNT_ASSIGNMENT~CREATE_EMBEDDED_VIEW_USAGE IF_WD_NAVIGATION_SERVICES_NEW~PREPARE_DYNAMIC_NAVIGATION oder IF_WD_NAVIGATION_SERVICES_NEW~DO_DYNAMIC_NAVIGATION ). Eine statische, d.h. mit der ABAP-Workbench angelegte View-Usage kann nicht gelöscht werden.
Ergebnis
Name |
Beschreibung |
SUBRC (Typ I) |
Dieser Parameter hat den Wert Null, wenn die View-Usage erfolgreich gelöscht werden konnte |
Parameter
Name |
Beschreibung |
NAME (Typ STRING) |
Name der View-Usage |
Ausnahme
Der Versuch, eine mit der ABAP-Workbench angelegte View-Einbettung zu löschen, führt zur Ausnahme CX_WDR_RR_EXCEPTION |
Diese Methode gibt das Beschreibungsobjekt des zu diesem View-Container-Assignment gehörenden View-Containers zurück.
Zwischen einem View-Container-Assignment und dem dazugehörigen View-Container besteht der folgende Zusammenhang:
Ein View-Container ist ein ausgezeichneter Bereich einer View, in dem andere Views eingebettet werden können. Innerhalb eines Web-Dynpro-Windows kann eine View mehrmals in unterschiedlichen View-Containern oder direkt im Window eingebettet sein. Enthält eine View, die auf diese Weise mehrfach eingebettet ist, selbst wieder View-Container, dann gibt es zur eindeutigen Kennzeichnung der Einbettungsposition pro Einbettung und pro View-Container ein View-Container-Assignment.

Beispiel:
Eine View VIEW_01 sei dreimal an verschiedenen Positionen in einem Window WINDOW eingebettet. Die Einbettungspositionen seien durch die View-Usages (siehe IF_WD_RR_VIEW_USAGE) VIEW_01_USAGE_1, VIEW_01_USAGE_2 und VIEW_01_USAGE_3 ausgedrückt. Die View enthalte die View-Container CONTAINER_01 und CONTAINER_02. Pro View-Usage und View-Container existiert nun genau ein View-Container-Assignment.
Ergebnis
Name |
Beschreibung |
RESULT (Typ STRING) |
Name des zugehörigen View-Containers |
Diese Methode liefert das Beschreibungsobjekt der View-Usage der in diesen View-Container eingebetteten Default-View zurück.
Ergebnis
Name |
Beschreibung |
RESULT (ref to IF_WD_RR_VIEW_USAGE) |
View-Usage der in diesen View-Container eingebetteten View-Usage |
Diese Methode liefert die Beschreibungsobjekte der View-Usages aller in diesen View-Container eingebetteten Views zurück.
Ergebnis
Name |
Beschreibung |
RESULT (Typ WDRR_VIEW_USAGE_OBJECTS) |
Tabelle der View-Usages aller in diesen View-Container eingebetteten Views |
Diese Methode liefert das Beschreibungsobjekt der View-Usage einer in diesen View-Container eingebetteten View zurück.
Ergebnis
Name |
Beschreibung |
RESULT (ref to IF_WD_RR_VIEW_USAGE) |
Beschreibungsobjekt der View-Usage |
Parameter
Name |
Beschreibung |
NAME (Typ STRING) |
Name der View-Usage |
Ausnahme
Existiert keine View-Usage des Namens NAME, dann wird die Ausnahme CX_WDR_RR_EXCEPTION ausgelöst. |
Diese Methode liefert den Namen des View-Container-Assignments zurück.
Ergebnis
Name |
Beschreibung |
RESULT (Typ STRING) |
Name des View-Container-Assignments |
Diese Methode liefert das Beschreibungsobjekt der übergeordneten View-Usage zurück.
Ergebnis
Name |
Beschreibung |
RESULT (ref to IF_WD_RR_VIEW_USAGE) |
Übergeordnete View-Usage |
Diese Methode gibt das Beschreibungsobjekt einer in diesen View-Container eingebetteten View des angegebenen Namens zurück, falls diese existiert.
Eine View kann nur einmal in einen View-Container eingebettet werden, daher ist das Ergebnis dieser Methode eindeutig.
Ergebnis
Name |
Beschreibung |
RESULT(ref to IF_WD_RR_VIEW_USAGE) |
Beschreibungsobjekt der View-Usage der in den View-Container eingebetteten View des Namens VIEW_NAME. Ist in dem View-Container keine View des Namens VIEW_NAME eingebettet, so ist dieser Parameter initial. Es wird keine Ausnahme ausgelöst. |
Parameter
Name |
Beschreibung |
VIEW_NAME (Typ STRING) |
Name der View, die in den View-Container eingebettet ist |
COMPONENT_NAME (Typ STRING) |
Name der Component der View. Dieser Parameter ist optional und muss nur dann angegeben werden, wenn die View zu einer anderen Component gehört als das Window, in dem sie angezeigt werden soll. |
COMPONENT_USAGE_NAME (Typ STRING) |
Name der Component-Usage. Dieser Parameter ist optional und muss nur dann angegeben werden, wenn die View zu einer anderen Component gehört als das Window, in dem sie angezeigt werden soll. |
Diese Methode gibt an, ob der zu diesem View-Container-Assignment gehörende View-Container dynamisch erzeugt wurde.
Ergebnis
Name |
Beschreibung |
RESULT (Typ ABAP_BOOL) |
Gibt an, ob der zugehörige View-Container dynamisch erzeugt wurde. Mögliche Werte sind: ● ABAP_TRUE: Der zugehörige View-Container wurde dynamisch erzeugt ● ABAP_FALSE: Der zugehörige View-Container wurde nicht dynamisch erzeugt |
Diese Methode gibt an, ob dieses View-Container-Assignment bereits gelöscht wurde.
Ergebnis
Name |
Beschreibung |
RESULT (Typ ABAP_BOOL) |
Gibt an, ob das View-Container-Assignment bereits gelöscht wurde. Mögliche Werte sind: ● ABAP_TRUE: Das View-Container-Assignment wurde bereits gelöscht ● ABAP_FALSE: Das View-Container-Assignment wurde noch nicht gelöscht |
Diese Methode gibt an, ob dieses View-Container-Assignment dynamisch erzeugt wurde.
Ergebnis
Name |
Beschreibung |
RESULT (Typ ABAP_BOOL) |
Gibt an, ob das View-Container-Assignment dynamisch erzeugt wurde. Mögliche Werte sind: ● ABAP_TRUE: Das View-Container-Assignment wurde dynamisch erzeugt ● ABAP_FALSE: Das View-Container-Assignment wurde nicht dynamisch erzeugt |
Diese Methode setzt die angegebene View-Usage als Default. Dadurch wird die zu bzw. unter dieser View-Usage eingebettete View als Default-View in dem Container angezeigt.
Parameter
Name |
Beschreibung |
VIEW_USAGE_NAME (Typ STRING) |
Name der View-Usage |