Aufrufen eines Bestätigungs-Dialogfensters 
Zur zügigen Erzeugung von standardisiert gestalteten Dialogfenstern (zum Beispiel zur Bestätigung einer Änderung der aktuellen Daten) können Sie die Methode CREATE_POPUP_TO_CONFIRM des IF_WD_WINDOW_MANAGER aufrufen. Hierfür benötigen Sie kein eigens angelegtes Window, sondern das Dialogfenster wird automatisch durch die Laufzeit erzeugt.
Die Methode CREATE_POPUP_TO_CONFIRM erzeugt ein Objekt vom Typ IF_WD_WINDOW, mit Hilfe dessen Parameter das Dialogfenster gestaltet werden kann.
Syntax
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.
Die Methode SUBSCRIBE_TO_BUTTON_EVENT des IF_WD_WINDOW ordnet den Schaltflächen geeignete Aktionen zu. Wenn Sie selbst ein Window für das Dialogfenster gestaltet haben, findet die Zuordnung der Schaltflächen zu den einzelnen Aktionen in der Hook-Methode WDDOINIT statt (siehe Dialogfenster der selben Component aufrufen).
Da in diesem Fall jedoch kein explizit angelegtes Window existiert, werden die entsprechenden Aktionen in derselben View angelegt, in der das Dialogfenster aufgerufen wird. Die Zuordnung über die Methode SUBSCRIBE_TO_BUTTON_EVENT findet direkt nach der Erzeugung des Dialogfensters in derselben Methode statt.
Für einige Spezialfälle kann es sinnvoll sein, Ereignisbehandler an Component- oder Custom-Controller auf die Schaltfläche-Ereignisse eines Dialogfensters zu registrieren. Für diese Fälle wurde am Interface IF_WD_WINDOW ein spezielles Attribut POPUP_TO_CONFIRM vom Typ IF_WD_POPUP_TO_CONFIRM_N implementiert. Dieses Interface bietet genau die Methoden an, mit deren Hilfe sich Ereignisbehandler an Component- oder Custom-Controllern auf die Ereignisse des Dialogfensters registrieren können.