Displaying a web dypro pop up screen is a fairly simple process, it basically involves creating a view containing the message or fields you want to display on the wdp popup, create a window and embend the view into it. Then insert the correct ABAP code at the point where you want the screen to be displayed. Here are the simple steps required to implement you ABAP web dynpro popup screen.
Step 1 - Within your created web dynpro application create a new view
Create a new web dynpro view which contains the text and UI elements you want to display
Step 2 - Create a new WINDOW (WND_POPUP) to embed the view into
Create a new window and embed the view you have just created into it. see hello world basic web dynpro
example to see how to embed a view into a window.
Step 3 - Add ABAP code
Insert the following ABAP code into the appropriate place. i.e. in the wdp action method of your desired button
Data: context_node type ref to if_wd_context_node. data: lr_popup type ref to if_wd_window, lr_view_controller type ref to if_wd_view_controller. data: lr_api_comp_controller type ref to if_wd_component, lr_window_manager type ref to if_wd_window_manager. lr_api_comp_controller = wd_comp_controller->wd_get_api( ). lr_window_manager = lr_api_comp_controller->get_window_manager( ). lr_popup = lr_window_manager->create_window( MODAL = ABAP_TRUE window_name = 'WND_POPUP' "Name of the window created in step 2 TITLE = 'Please enter all information' CLOSE_BUTTON = ABAP_TRUE BUTTON_KIND = if_wd_window=>CO_BUTTONS_YESNO MESSAGE_TYPE = if_wd_window=>co_msg_type_error 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( ). * lr_popup->subscribe_to_button_event( * button = if_wd_window=>co_button_ok * button_text = 'Yes' * action_name = 'SUBMIT' * action_view = lr_view_controller ). lr_popup->open( ).
CO_BUTTONS_NONE - No Buttons CO_BUTTONS_ABORTRETRYIGNORE - Buttons for 'Cancel', 'Repeat', 'Ignore' CO_BUTTONS_OK - Buttons for 'O.K.' CO_BUTTONS_CLOSE - Buttons for 'Close' CO_BUTTONS_OKCANCEL - Buttons for 'O.k.', 'Cancel' CO_BUTTONS_YESNO - Buttons for 'Yes', 'No' CO_BUTTONS_YESNOCANCEL - Buttons for 'Yes', 'No', 'Close' CO_BUTTON_ABORT - Button for 'Cancel' CO_BUTTON_RETRY - Button for 'Repeat' CO_BUTTON_IGNORE - Button for 'Ignore' CO_BUTTON_OK - Button for 'Ok.' CO_BUTTON_CLOSE - Button for 'Close' CO_BUTTON_CANCEL - Button for 'Cancel' CO_BUTTON_YES - Button for 'Yes' CO_BUTTON_NO - Button for 'No'
CO_MSG_TYPE_NONE - No message type CO_MSG_TYPE_WARNING - Warning CO_MSG_TYPE_INFORMATION - Information CO_MSG_TYPE_QUESTION - Question CO_MSG_TYPE_ERROR - Error CO_MSG_TYPE_STOPP - Cancel
lr_view_controller = wd_this->wd_get_api( ). lr_popup->subscribe_to_button_event( button = if_wd_window=>co_button_ok button_text = 'Yes' action_name = 'SUBMIT' action_view = lr_view_controller ).