cancel
Showing results for 
Search instead for 
Did you mean: 

How to open URL IView with dynamic url parameter (navigate_absolute)

Former Member
0 Kudos

Hi Experts,

i would like to open an URL-IView from the WebDynpro ABAP Application in the Enterprise Portal 7.0

and i want to set the URL parameter dynamically. Is this possible and how can i achieve this!!

Thx Markus

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi Markus,

I'm having the same issue. Were you able to pass url parameters to a URL iView?

Regards,

Alexandros Kontopoulos

Former Member
0 Kudos

And i have another question,

which IView did you use? WebDynpro IView or URL IView?

Thx

Former Member
0 Kudos

Hi Manas

could you give me a concrete example for the inputbusobjid what you put in, please.

Because i don´t need URL Parameters, i need the right URL itself.

And what i have to put in the IView, that i call the URL i want!

Markus

Former Member
0 Kudos

Hi Martina, thx for your reply!

How must fill the function module. Could you give me code example.

Thx Markus

Former Member
0 Kudos

Hi Manas Dua,

thx for your answer, but what is the 'inputbusobjid' TYPE wd_this->Element_context-inputbusobjid.

Which parameters must be filled in the business_parameters. Where can i define this ID´s in the IView and which is the right ID?

Is "RemInquiry" in your path the IView in the portal, which you want to target?

Markus

Former Member
0 Kudos

HI Markus,

inpubusobjid is one of the URL Parameters in our application which I'm passing here,

Any application\ URL parameters which you want to pass should be filled in Business_Parameters.

Yes Reminquiry is the Iview Path ( PCD) which i want to call.

Former Member
0 Kudos

Hi Markus,

Yes it is possible to call the URL dynamically.First determine the hostname and port using the function module TH_GET_VIRT_HOST_DATA and form the URL address which should be passed to 'Navigation_target' using the method

'Navigate Absolute'.

Former Member
0 Kudos

Hi Markus,

You can take help of the following code snippet.

Here we are calling an Iview using absolute navigation and passing URL parameters as well

*--------------------------------------------------------------------------------
* Select the input value entered and then pass it to REM INQ application---------
*--------------------------------------------------------------------------------

  DATA lv_inputbusobjid   TYPE          wd_this->Element_context-inputbusobjid.
  DATA lv_path            TYPE          string.
  DATA lv_tab_wd_param     TYPE          wdy_key_value_list.
  DATA lv_str_wd_param     TYPE          wdy_key_value.
  DATA lo_el_context      TYPE REF TO   if_wd_context_element.
  DATA api_component      TYPE REF TO   if_wd_component.
  DATA window_manager     TYPE REF TO   if_wd_window_manager.
  DATA window             TYPE REF TO   if_wd_window.
  DATA lo_api_component   TYPE REF TO   if_wd_component.
  DATA lo_portal_manager  TYPE REF TO   if_wd_portal_integration.

* read the imput data first-------------

* get element via lead selection
  lo_el_context = wd_context->get_element( ).

* get single attribute
  lo_el_context->get_attribute(
    EXPORTING
      name =  `INPUTBUSOBJID`
    IMPORTING
      value = lv_inputbusobjid ).

** call remuneration inquiry window using absolute navigation
  CLEAR lv_tab_wd_param.

* Adding parameters
  lv_str_wd_param-key = 'sap-wd-configId'.
  lv_str_wd_param-value = 'CACS_REMINQ_CONF'.
  APPEND lv_str_wd_param TO lv_tab_wd_param.
  lv_str_wd_param-key = 'BUSOBJ_ID'.
  lv_str_wd_param-value = lv_inputbusobjid.
  APPEND lv_str_wd_param TO lv_tab_wd_param.


  lo_api_component = wd_comp_controller->wd_get_api( ).
  lo_portal_manager = lo_api_component->get_portal_manager( ).

  if lo_portal_manager is BOUND.

* PCD 
  lv_path = 'ROLES://portal_content/com.sap.pct/specialist/com.sap.pct.erp.common.workset_reuse/com.sap.pct.erp.icmparticip.bp_folder/com.sap.pct.erp.icmparticip.15.bp_folder/com.sap.pct.erp.icmparticip.15.pages/com.sap.pct.erp.icmparticip.RemInquiry'.

  lo_portal_manager->navigate_absolute(
    navigation_target   = lv_path
    navigation_mode     = if_wd_portal_integration=>co_show_external
    window_features     = 'toolbar=no,resizable=yes,scrollbars=yes'
    business_parameters = lv_tab_wd_param
         ).
  endif.

Hope this helps

Regards

Manas Dua