cancel
Showing results for 
Search instead for 
Did you mean: 

Embedd. views at rt in comps which impl. component interface definitions

Former Member
0 Kudos

I created the following scenario:

- I have a Main-component "M"

- "L" is a component interface definition (cid) which got two cid-L-implementating components "L1" and "L2" and should handle the layout

- I have other cid´s (A-C) too, every cid got 2 components which implements the cid at runtime (e. g. cid a got "A1" and "A2", analog to cid L

- M creates the component_usages and create the chosen components (e. g. A1, B2, C2 and L2) at runtime and passes the component usages of cid a - c to the cid L-implementating component (e. g. L2).

- CID L pretend L1 and L2 to got an interfaceview V_L which is embedded in my Main-component M.

now the crux:

- L1 and L2 got own views (e. g. V_L2 for L2) which are embedded in the interfaceview V_L from cid L.

- in those views for example v_l2 the views of the chosen components of cid a-c should be embedded in viewcontaineruielements.

how can I achieve this?

the code

DATA: akt_COMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE.

akt_COMP_USAGE = WD_COMP_CONTROLLER->COMPONENT_USAGE_A.
 DATA: l_view_controller_api TYPE REF TO if_wd_view_controller.

  l_view_controller_api = wd_this->wd_get_api( ).
    l_view_controller_api->prepare_dynamic_navigation(
                  source_window_name          = 'V_L'
                  source_vusage_name          = 'V_L2_USAGE1'
                  source_plug_name            = 'TO_RESULTVIEW'
                  target_component_name       = 'Z_CID_CA1'
                  target_component_usage      = 'USAGE_Z_ITF_CID_A'
                  target_view_name            = 'V_L'
                  target_plug_name            = 'FROM_V_CHOICE'
                  target_embedding_position   = 'V_L2/VC_L2_CID_A' ).

didn´t work it out.

Are there other possibilities to embedd a interfaceview without the method prepare_dynamic_navigation?

And I am not sure how I can make the linking.

It seems to be very difficult because M is embedding the interfaceview V_L from CID L (this works) but the chosen component of CID_L (e. g. L2) has to fill the viewuielemntcontainers (e. g VC_L2_CID_A) with the interfaceviews from the chosen components of CID A-B.

has anyone an idea? its really an attractive task I will reward important and helpful hints with forum points 😄

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

OK I got the solution

the code:

l_view_controller_api->prepare_dynamic_navigation(

source_window_name = 'V_L'

source_vusage_name = 'V_L2_USAGE_1'

source_plug_name = 'TO_ERGEBNISVIEW'

target_component_name = WD_COMP_CONTROLLER->COMP_USAGE_A_WDAPI-USED_COMPONENT "'Z_CID_CA1'

target_component_usage = WD_COMP_CONTROLLER->COMP_USAGE_A_WDAPI-COMPONENT_USAGE_NAME "'USAGE_Z_CID_CA1'

target_view_name = 'V_A'

target_plug_name = 'FROM_V_AUSWAHL'

target_embedding_position = 'V_L2/VC_L2_CID_A' ).

works for embedding the interfaceview of the at runtime chosen component of cid a in the viewuielementcontainer in V_L2 of the chosen component of cid L which is in turn embedded in the window of M.

if you find my coding helpful please give me some points. I don´t want to own zero points anymore