Um in einer View-Methode ein Popup zu öffnen, braucht man folgenden Code:
lr_api_comp_controller = wd_comp_controller->wd_get_api( ). lr_window_manager = lr_api_comp_controller->get_window_manager( ).
title = ls_texte-HEADER_BESTAETIGEN.
lr_popup = lr_window_manager->create_window(
MODAL = ABAP_TRUE
window_name = ‚CONFIRM_WINDOW‘
TITLE = title
CLOSE_BUTTON = ABAP_FALSE
BUTTON_KIND = if_wd_window=>CO_BUTTONS_YESNO
MESSAGE_TYPE = if_wd_window=>CO_MSG_TYPE_NONE
CLOSE_IN_ANY_CASE = ABAP_TRUE
*MESSAGE_DISPLAY_MODE = MESSAGE_DISPLAY_MODE
).
* Adds an action to the popup screen buttons lr_view_controller = wd_this->wd_get_api( ).
title = ls_texte-POPUP_YES.
lr_popup->subscribe_to_button_event(
button = if_wd_window=>co_button_yes
button_text = title
action_name = ‚YESACTION‘
action_view = lr_view_controller ).
* Adds an action to the popup screen buttons lr_view_controller = wd_this->wd_get_api( ).
title = ls_texte-POPUP_NO. lr_popup->subscribe_to_button_event(
button = if_wd_window=>co_button_no
button_text = title
action_name = ‚NOACTION‘
action_view = lr_view_controller ).
lr_popup->open( ).
Der String, der beim action_name angegeben ist, ist der Name der Aktion, die nach einem Klick auf den entsprechenden Button ausgelöst wird.
Das angegebene Window ‚CONFIRM_WINDOW‘ muss angelegt und mit einer View versehen sein – welche dann angezeigt wird. Dort kann zum Beispiel wieder ein Context ausgelesen bzw. verändert werden – und anschließend z.B. in der Methode „YESACTION“ verarbeitet werden.
Hi,
danke für dein Posting aber… ich erhalte foltenden Fehler
Feld „LS_TEXTE-HEADER_BESTAETIGEN“ unbekannt. Es ist weder in einer der angegebenen Tabellen enthalten noch durch eine „DATA“-Anweisung definiert.
Hi duncan,
klar – das ist eine lokale Variable aus meinem Testprogramm, auf dem dieses Coding entnommen wurde.
Du kannst die Variable „title“ mit einem beliebigen Text füllen – z.B. auch mit title = ‚Mein Popup-Titel‘ oder eben einer deiner Variablen: title = ls_meine_variable. Diese musst du im DATA-Block definieren … 🙂
bzw. genauer: der von mir gesuchte Title des Popups stand in der Struktur LS_TEXTE in der Spalte HEADER_BESTAETIGEN.