cancel
Showing results for 
Search instead for 
Did you mean: 

Calling Web Dynpro application or URL from POWL

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Solved.

Former Member
0 Kudos

Hi Shaik,

i Have same requirement. In my POWL alv i added one button for one column. If i click on that button it needs to populate some data in other window. Can you explaine what i have to do.

Regards,

Sri

Former Member
0 Kudos

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.

Former Member
0 Kudos

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.

Former Member
0 Kudos

hi,

I got your point.

But the approach would be same.

In the Handle Action for the linktoAction, Just Fire the Event. Now make Event handler and there you can open another URL.

I hope you are using POWL in some WD Appliction. If this is the case then above approach will do.

Former Member
0 Kudos

No, i am not using POWL in some web dynpro application. User will directly run the url in order to access the powerlist. Do you know how to use bo_name and bo_op_name to call the web dynpro??

Former Member
0 Kudos

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
         ).

Former Member
0 Kudos

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.

Former Member
0 Kudos

wd_comp_controller does not exist in my method, so i am not able to use it..

Former Member
0 Kudos

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 ).

Former Member
0 Kudos

Hi Saud,

  i am also facing the same problem,can you explain me how you solved that.

Thanks,

Lavanya.