on 11-04-2009 6:40 AM
Hi Friends,
I need to call a Web Dynpro appl from a custom POWL. In my feeder class's method HANDLE_ACTION, i am not getting how to use e_portal_actions parameter for calling a URL of WD application. Pls help me out in this.
Regards,
Saud
Solved.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi,
What you can do is :
1. Fire the event in Handle Action using :
CREATE DATA e_portal_actions-add_wdevent_data TYPE ptrm_powl_tr_action_data_t.
e_portal_actions-fire_wdevent = abap_true.
2. Now in your webdynpro Appliction in which you have called POWL , Add an event handler.
3. Choose the event as POWL_FOLLOW_UP.
4. Inside this event handler you can call external URL or any other application.
I hope it is clear.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I think , i have not clearly explained my issue.
I have created a powl. In this POWL there will be a column with link action. On clicking of this link another WD application needs to open. I have found that handle_action is the method to be used. But how to call web dynpro appl from this method is an issue.
I hope i am clear this time.
You can create a launchpad application through tran LPD_CUST and then in repsective method of POWL class you can launch your web dynpro application like this
DATA ls_appl_param TYPE APB_LPD_S_PARAMS.
DATA lt_appl_param TYPE APB_LPD_T_PARAMS.
DATA lt_lpd_content TYPE apb_lpd_t_content.
DATA lr_lpd_content TYPE REF TO apb_lpd_s_content.
DATA lt_lpd_appl_params TYPE apb_lpd_t_params.
DATA lr_lpd_handle TYPE REF TO cl_apb_launchpad_api.
DATA lo_component TYPE REF TO if_wd_component.
DATA lr_provider TYPE REF TO if_apb_lpd_provider.
"Get launchpad handle
lo_component = wd_comp_controller->wd_get_api( ).
cl_apb_launchpad_api=>read_for_display( EXPORTING id_role = cl_oif_ui_assist=>sc_lpd_roles "Role Name
id_instance = cl_oif_ui_assist=>sc_lpd_instance " Instance Name for Launchpad
id_langu = sy-langu
ir_provider = lr_provider
ir_wd_component = lo_component
RECEIVING er_launchpad = lr_lpd_handle ).
CHECK lr_lpd_handle IS BOUND.
lt_lpd_content = lr_lpd_handle->get_content( ).
READ TABLE lt_lpd_content REFERENCE INTO lr_lpd_content
WITH KEY link_text = cl_oif_ui_assist=>sc_lpd_link_text. "Link text for launchpad
ls_appl_param-key = cl_oif_ui_assist=>wda_config_key. "'SAP-WD-CONFIGID'. "app conf if any
ls_appl_param-value = cl_oif_ui_assist=>CREATE_CONFIG_ID. "'MDG_OIF_CREATE_CONF'.
APPEND ls_appl_param TO lt_appl_param.
lt_lpd_appl_params = lr_lpd_content->application_parameter.
"launch application
lr_lpd_handle->launch_application(
id_application_id = lr_lpd_content->application_id
it_application_parameters = lt_lpd_appl_params
it_business_parameters = lt_appl_param
).
I wrote all the code as i have to pass some application parameters as well as configuration id, if your called web dynpro application doesn't contains any URL parameters then you can straight away configure the application name to be called in Launcpad and two parameters of method launch_application ( application parameters and busines_parameters ) can be passed as empty.
Its an optional parameter in method, try using the code without passing it.
lo_component = wd_comp_controller->wd_get_api( ).
cl_apb_launchpad_api=>read_for_display( EXPORTING id_role = cl_oif_ui_assist=>sc_lpd_roles "Role Name
id_instance = cl_oif_ui_assist=>sc_lpd_instance " Instance Name for Launchpad
id_langu = sy-langu
ir_provider = lr_provider
ir_wd_component = lo_component "optional
RECEIVING er_launchpad = lr_lpd_handle ).
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.