cancel
Showing results for 
Search instead for 
Did you mean: 

Navigate between 2 ALV tables

Former Member
0 Kudos

Hello,

I'm trying to create an alv table and when clicking on a hotspot go to a different ALV table.

In the layout I define the second table in a view container and not in a table, because I want to click on one of its cells and go to another table (third table).

I define each table in a separated view in one window

My problem is that when I click on the first hotspot I get the error message :

<b><i>window ZSET_WEB does not exist with in component SALV_WD_TABLE</i></b>

<b>The code:</b>

DATA: l_window_manager TYPE REF TO if_wd_window_manager,

        l_cmp_api        TYPE REF TO if_wd_component,

        l_window         TYPE REF TO if_wd_window.

***** call the second table ************

  l_cmp_api        = wd_comp_controller->wd_get_api( ).

  l_window_manager = l_cmp_api->get_window_manager( ).

  l_window   = l_window_manager->create_window_for_cmp_usage(

                    interface_view_name    = 'ZSET_WEB' <i>window name</i>

                     component_usage_name   = 'ALV1' <i>componenet used name</i>
                     message_display_mode   = if_wd_window=>co_msg_display_mode_selected

                     ).

l_window->open( ).

Please advise,

Best Regards,

Efrat

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Efrat,

Kindly check whether ZSET_WEB is a window or just a view.

Regards

Senthil

Former Member
0 Kudos

thanks for your help,

ZSET_WEB is a window,

my problem is that when I use<i> create_window( )</i> like Thomas suggested, I don't know how to send the right view (the window as I mention has 2 views)

and I get the error message: <b>An Instance of the View ZSET_WEB Already Exists in the Component</b> <b>Code</b>

l_cmp_api        = wd_comp_controller->wd_get_api( ).

  l_window_manager = l_cmp_api->get_window_manager( ).

  l_window   = l_window_manager->create_window(

*                     modal             = modal

                     window_name       = 'ZSET_WEB'

*                    title             = title

*                     close_button      = close_button

                     button_kind       = if_wd_window=>co_buttons_yesnocancel

                     message_type      = if_wd_window=>co_msg_type_question
  l_window->open( ).

should I use another function along with this function or another function?

when I use

  wd_comp_controller->open_popup(

 i_popup_name   = 'POPUP_DETAILS'  ' second view

   i_button_kind  = if_wd_window=>co_buttons_close

   i_message_type = if_wd_window=>co_msg_type_none ).

it open a new window but doesn't show me the table

Thanks for your help

Efrat

Former Member
0 Kudos

Hi Efrant,

If the dialog box that you want to display is of a generic nature and can be used in many different components, you create the corresponding window in a separate component, which is then used by the current component. In this case, you create thedialog box at runtime in the current component using the method CREATE_WINDOW_FOR_CMP_USAGE and pass the names of the interface view and the component usage. There must be a component-usage [external] entry in the attribute table of the current component for the component to which the dialog box belongs.

BR,

Senthil

thomas_szcs
Active Contributor
0 Kudos

Hi Efrat,

Seems like you would like to display one of your windows as a popup. Just use the create_window( ) method for that and specify the name of your window.

Best regards,

Thomas

Former Member
0 Kudos

Hi Thomas,

In my window i have 2 views (and 2 components usage )

Could you please tell me where i have to mark the name

of the view (or component ) that i want to open?

Best regards

Efrat