Show TOC Entering content frame

Background documentation Calling a Confirmation Dialog Box Locate the document in its SAP Library structure

To quickly create dialog boxes of a standardized layout (for example, for the confirmation of changes to current data) you can call the CREATE_POPUP_TO_CONFIRM method of the IF_WD_WINDOW_MANAGER. You do not need to create a separate window for this. The dialog box is created automatically by the runtime.

The CREATE_POPUP_TO_CONFIRM method creates an object of the type IF_WD_WINDOW; the dialog box can be created using its parameters.

method onactionpopup4_1 .

 

  data: l_cmp_api          type ref to if_wd_component,

        l_window_manager   type ref to if_wd_window_manager,

        l_popup            type ref to if_wd_window,

        l_text             type string_table,

        l_api              type ref to if_wd_view_controller.

 

 

  l_cmp_api        = wd_comp_controller->wd_get_api( ).

  l_window_manager = l_cmp_api->get_window_manager( ).

  insert `Data where changed` into table l_text.    "#EC *

  insert `Do you want to save?`        into table l_text.    "#EC *

 

  l_popup = l_window_manager->create_popup_to_confirm(

                text            = l_text

                button_kind     = if_wd_window=>co_buttons_yesnocancel

                message_type    = if_wd_window=>co_msg_type_question

                window_title    = 'Test: Popup to confirm'

                window_position = if_wd_window=>co_center )."#EC *

 

  l_api = wd_this->wd_get_api( ).

 

  l_popup->subscribe_to_button_event(

               button            = if_wd_window=>co_button_yes

               action_name       = 'YES'

               action_view       = l_api

               is_default_button = abap_true ).

  l_popup->subscribe_to_button_event(

               button            = if_wd_window=>co_button_no

               action_name       = 'NO'

               action_view       = l_api

               is_default_button = abap_false ).

  l_popup->subscribe_to_button_event(

               button            = if_wd_window=>co_button_cancel

               action_name       = 'CANCEL'

               action_view       = l_api

               is_default_button = abap_false ).

 

  l_popup->open( ).

endmethod.

 

The SUBSCRIBE_TO_BUTTON_EVENT method of IF_WD_WINDOW assigns the actions to the appropriate buttons. If you have created a window for the dialog box yourself, the assignment of individual actions to the buttons takes place in the hook method WDDOINIT (see document Calling Dialog Boxes of the Same Component).

As no explicitly created window exists in this case, the corresponding actions are created in the same view in which the dialog box is called. Assignment using the method SUBSCRIBE_TO_BUTTON_EVENT takes place immediately after the creation of the dialog box in same method.

 

Leaving content frame