Dynamic navigation from ZCOMP1 to ZCOMP2

Hi experts,
Hope you are all doing good!
This is the first time I'm working with the dynamic navigation. So, I'm just trying to understand how really it works with two custom components.
I've already searched this forum n got some info. But, I'm getting confused with the procedure. 
While calling the target component, I see the below code:
lr_window ?= me->view_manager->get_window_controller( ).
lr_window->call_outbound_plug( iv_outbound_plug = 'TOCOMP2' iv_data_collection = lr_data_collection ).
and in another thread, they used:
lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
CHECK lr_navigation IS BOUND.
lr_navigation->navigate_dynamically( lr_col ).
Can someone help with the difference between these methods?  I really need this to understand clearly before proceeding further.
I would really appreciate if someone can provide the generic procedure to achieve this. Thank you a lot.
-Ezhno.

Hi Maren,
WebUI Navigation guide  - for more Info.
Dynamic navigation will be perform only if they have generic mapping entry in navigation bar profile in spro. At runtime webui picks the target id and calls the inbound plug to the target link.
if you are trying to perform navigation on the standard component, then you can directly check the config in spro and perform the navigation using a descriptor object.
and if its for the custom component then u have to define a workarea component repository
check my answer in below thread How to link view to be displayed on a logical link. Use first three screen shots to define work area repository
Once u have defined your target id for your ZComponent , then u can create a new your new mapping in spro for your ZComponent, like  below screenshot and perform dyanmic navigation.
Now to perform dynamic navigation sample code .
   data: lr_nav_descr      type ref to if_bol_bo_property_access,
        lr_core                     type ref to cl_crm_bol_core,
        lr_nav_serv       type ref to if_crm_ui_navigation_service,
        lr_header           type ref to cl_crm_bol_entity,
        lr_entity type ref to if_bol_bo_property_access,
        lr_col           type ref to cl_crm_bol_bo_col.
*     Get the BOL Core Instance
  lr_core ?= cl_crm_bol_core=>get_instance( ).
* get the BuilHeader object
  lr_header = lr_core->get_root_entity( iv_object_name = 'BuilHeader'
                                        iv_object_guid = lv_partner_guid ).
* add the Builheader to the collection
  create object lr_col.
  lr_col->if_bol_bo_col~add( iv_entity = lr_header
                             iv_set_focus = abap_true ).
  cl_crm_ui_descriptor_obj_srv=>create_ui_object_based(
           exporting
                     iv_ui_object_type   = 'BP_ACCOUNT'
                     iv_ui_object_action = 'B'
           receiving rr_result           = lr_nav_descr ).
  lr_nav_serv = cl_crm_ui_navigation_service=>get_instance( ).
* check if navigation is possible
  if lr_nav_serv->is_dynamic_nav_supported( ir_descriptor_object = lr_nav_descr ) = abap_true.
    lr_col->if_bol_bo_col~insert( iv_bo    = lr_nav_descr
                                iv_index = 1 ).
*   start the navigation
    lr_nav_serv->navigate_dynamically( iv_data_collection = lr_col ).
  endif.
As per as configurations navigate_dynamically will check the spro config as it will navigate to the target id of the BP as display mode i.e on overviewpage.
Now comes to the first question......
lr_window ?= me->view_manager->get_window_controller( ).
lr_window->call_outbound_plug( iv_outbound_plug = 'TOCOMP2' iv_data_collection = lr_data_collection ).
here you are trying to get the instance of the window controller and then your are calling to the Window Outbound plug and passing the collection using a navigation_link.
where inbound and outbound plugs are defined.
Steps :
Create an outbound plug on the source view
Create an inbound plug for target view.
Create an event handler for the navigation event
Method EH_xxx.
Op_xxx.()
ENDMETHOD.
Create a navigation link between the source and target view.
In the outbound plug, call following code snippet.
Me->view_manager->navigate(source_rep_view =  me->rep_view
Outbound plug = <navlink>) or you can call the window plugs and perform
Create an inbound plug for target view.
If you have any questions, let me know.
Regards,
Sumeet Gehlot

Similar Messages

  • Dynamic navigation from inside the java code within the project

    I want to create dynamic navigation in my project.
    On my first page I need to get to a second servlet page by the use of dynamic coding. In normal servlets I would use response.redirect() but I cant here in the creator world and I am stuck on this point.
    Any ideas or directions on how to proceed?
    I know how to use the navigation XML file and know how to modify the file in question.

    Well I sort of worked out what had to be done, and the references that everyone gave me was amazing and I am thankful...
    The JNI does anyone have JNI experience???
    Has anyone got the JNI functionally working within this IDE??

  • Dynamic Navigation - Forcing navigation from code

    There are a number of questions on this forum about this, but all of them end with this as a solution for dynamically using the JSF navigation:
    NavigationHandler navigator = getApplication().getNavigationHandler();
    navigator.handleNavigation( getFacesContext(), null, "next_page" );However, this doesn't work for me at all. I'm trying to call this in prerender(), are there limitations about when you can call this? I'm being forced to do this:
    FacesContext.getCurrentInstance().getExternalContext().redirect ( "next_page.jsp" );Which feels like a total hack, since it's not utilizing the JSF Navigation. I would like to stay within the standard so all of my navigation rules are in the same place. How can I do this? Thanks.

    From my experience, this (being the redirect page, not using JSF navigation) is the only way I could get it to work. Since I am developing portlets, which by standard ignores page redirects, this has left me with no usable dynamic navigation.
    Your other option pennstump would be to write your own stage handlers so you could "extend" the jsf invocation model and add another action stage to handle your redirect. That seems to be the only valid way I have found that would allow JSF navigation techniques to be used without an action event being processed.

  • Pass parameter from dynamic navigation iView to WebDynpro iView

    Hi All,
    I know there are a lot of threads dealing with passing paramters from EP to WebDynpro using EPCM but actually I didn´t find a solution for my problem.
    I have in the dynamic navigation area of the SAP Portal an iView based on a JSP dynpage. In the corresponding JSP I fire an EPCM-event:
    EPCM.raiseEvent("urn:test.de:wochenb" , "passDataToWebDynpro" , evtData);
    In the content area there is a WebDynpro iView. In this WebDynpro-application I subscribe to the event in the wdDoInit-method of a view:
    WDPortalEventing.subscribe("urn:test.de:wochenb" , "passDataToWebDynpro" ,wdThis.wdGetDataFromJSPDynpageAction());
    and I have an event-handler:
    public void onActionDataFromJSPDynpage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, java.lang.String dataObject )
        //@@begin onActionDataFromJSPDynpage(ServerEvent)
         IWDMessageManager manager = wdComponentAPI.getMessageManager();
         manager.reportSuccess("EPCM event testing " + dataObject);
      //@@end
    My problem is now that the event is fired correctly by the JSP Dynpage but the event-handler of the WebDynpro is never executed.
    As info: the domain of the J2EE-Server the webdynpro-application is deployed to is identical to the J2EE-Server the portal runs on.
    Can anybody help ?
    Thanks !
    Bernd

    Hi All,
    I found the solution by myself.
    For information: Click in the dynamic navigation fires the event und forces the content afterwards to refresh. During the refresh the WebDynpro subscribes to the event in the wdDoInit-Method. This is to late because the event is fired before the refresh.
    My solution is to use a setTimeout before the event-triggering in the dynamic navigation iView.
    Regards,
    Bernd

  • Error while dynamic Navigation for BP Account Overview

    Hi,
      I have created a custom search, result component which is working fine. On the Partner number I have provide the hyperlink to navigate with Dynamic navigation, but I am getting the below error when I clcik on partner number.
    Selection and result
    Now when I clcik on BP
    Code which I have written in event handler
       method EH_ONPARTNER_CLICKED.
    "navigate to Account overview
       DATA: lr_entity        TYPE REF TO cl_crm_bol_entity,
             lv_index        TYPE i,
             lv_guid         TYPE crmt_object_guid,
             lv_objectid     TYPE crmt_object_id,
             lr_core         TYPE REF TO cl_crm_bol_core,
             lr_entity_bt    TYPE REF TO cl_crm_bol_entity,
             lr_nav_descr    TYPE REF TO if_bol_bo_property_access,
             lr_navigation   TYPE REF TO if_crm_ui_navigation_service,
             lr_col          TYPE REF TO cl_crm_bol_bo_col,
             lv_partner_guid type crmt_genil_object_guid.
    * Let's get current row info
      CALL METHOD cl_thtmlb_util=>get_event_info
        EXPORTING
          iv_event = htmlb_event_ex
        IMPORTING
          ev_index = lv_index.
      CHECK lv_index IS NOT INITIAL.
    * Get entity for the current row
      CLEAR: lv_guid.
      lr_entity ?= typed_context->SEARCHRESULTNODE->collection_wrapper->find( iv_index = lv_index ).
      IF lr_entity IS BOUND.
        lv_objectid = lr_entity->get_property_as_string( iv_attr_name = 'PARTNER' ).
      ENDIF.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = lv_objectid
        IMPORTING
          output = lv_objectid.
       CHECK LV_OBJECTID IS NOT INITIAL.
      select single partner_guid from but000 into lv_partner_guid where partner = LV_OBJECTID.
    *     Get the BOL Core Instance
      lr_core ?= cl_crm_bol_core=>get_instance( ).
    * get the BuilHeader object
      lr_entity_bt = lr_core->GET_ROOT_ENTITY( iv_object_name = 'BuilHeader' iv_object_guid = lv_partner_guid ).
    * add the Builheader to the collection
      create object lr_col.
      lr_col->if_bol_bo_col~add( iv_entity = lr_entity_bt
                                 iv_set_focus = abap_true ).
    cl_crm_ui_descriptor_obj_srv=>create_ui_object_based(
               exporting
                         iv_ui_object_type   = 'BP_ACCOUNT'
                         iv_ui_object_action = 'B'
               receiving rr_result           = lr_nav_descr ).
      lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
    * check if navigation is possible
      if lr_navigation->is_dynamic_nav_supported( ir_descriptor_object = lr_nav_descr ) = abap_true.
        lr_col->if_bol_bo_col~insert( iv_bo    = lr_nav_descr
                                    iv_index = 1 ).
    *   start the navigation
        lr_navigation->navigate_dynamically( iv_data_collection = lr_col ).
      endif.
    endmethod.

    Hi ,
    Try this.
    Root entity you no need to take for this.
    cl_crm_ui_descriptor_obj_srv=>create_ui_object_based(
               exporting
                         iv_ui_object_type   = 'BP_ACCOUNT'
                         iv_ui_object_action = 'B'
                         iv_entity_key_name = 'BP_GUID'
                         iv_entity_key_value = lv_bp_guid
               receiving rr_result           = lr_nav_descr ),
      lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
    * check if navigation is possible
      if lr_navigation->is_dynamic_nav_supported( ir_descriptor_object = lr_nav_descr ) = abap_true.
        lr_col->if_bol_bo_col~insert( iv_bo    = lr_nav_descr
                                    iv_index = 1 ).
    *   start the navigation
        lr_navigation->navigate_dynamically( iv_data_collection = lr_col ).
      endif.
    Regards,
    Deepika

  • WD Java iView & Dynamic Navigation Problem

    Hi,
    I'm trying to use a WebDynpro Java iView in Dynamic Navigation but have the following display problem:
    When I navigate to the page for which I've added the iView to the dynamic navigation, only the WebDynpro iView (from the navigation) is shown. You can see the page in its correct form being loaded but as soon as the navigation iView seems to be loaded/ing it replaces the full lower part of the screen (navigation and content panel).
    If I use a plain URL iView in the dynamic navigation the behaviour is as expected.
    But if I add a WebDynpro iView or even a page containing that iView I get the strange behaviour again.
    I'm running NW04s SP7.
    Any ideas?
    Do I have to set some properties on the WebDynpro iView?
    I've tried a couple of things but none did work so far.
    Thanks & Regards
    Markus

    Hi Henrik,
    Sorry for the late reply but I'm just back from vacation.
    No, I have not found a solution. I decided to go for an integrated application instead (Main WD application that bundles navigation with other applications). That works but of course is not as "nice".
    Have you come across some solution yet?
    Kind Regards
    Markus

  • Employee Search in Dynamic Navigation does not update other iViews (FPM)

    Hi all,
    after selecting a person from Employee Search (MSS) we have to display corresponding data in a customer specific iView with help of selected person number.
    So I created a Floorplan Manager Application as described in https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/how-toaddacustomWebDynproiViewtotheMSSEmployeeProfile%28ECC+6.0%29&
    If I use the SAP content page or create my own pages with corresponding Employee Search and customer specific iView, updating of data on the customer specific iView works. But if I add the Employee Search to Dynamic Navigation, the data is not updated in the customer specific iView.
    I didn´t find a solution in this forum. Does anybody know, if it is possible to add the Employee Search as Dynamic Navigation (with help of Floorplan Manager functionality) and update data in other iViews and how this works? Or is it possible to handle this in a different way, e.g. PortalEventing?
    Thanks,
    Thomas

    Hi,
    I also tried to use only iViews of 'General Information'  and added the employee search (team viewer) of the sap
    content page 'General Information' to the dynamic navigation, but the other SAP standard iViews of 'General Information' page are not updated, too.
    Does anybody know, if it is possible to add the employee search to dynamic navigation and to update the other iViews of 'General Information'? If yes, what properties have to be set? Are some settings for Floorplan Manager
    needed?
    Could anybody please give me a hint?
    Thanks,
    Thomas

  • Dynamic Navigation in Interaction History

    Hi,
    When I navigate to Interaction History in CRM 2007, I am able to fetch various interaction records. Where as I am not able to open an individual interaction record from the result window. When I double click to oepn the record I am getting the error message "Dynamic Navigation to this object is not supported".
    Please let me know the settings to be done to overcome this.
    With kind regards,
    Shankar
    Edited by: Shankar Nagarajan on Aug 27, 2008 11:43 AM
    Edited by: Shankar Nagarajan on Sep 9, 2008 3:51 PM

    Please read this 2 topics:
    Recent Items
    Dynamic Navigation Is Not Supported By This Object Error
    May be this help you.

  • Dynamic navigation

    dynamic navigation
    Posted: Aug 29, 2005 3:03 PM        Reply      E-mail this post 
    Hi
    I have an iview from BW that generates links to reports. I associated this iview to a page as a dynamic navigation link.
    When I click on the link, it does not load the content in the portal content area. I tried _self, _top, _parent as the targets in the BW web template.
    How can I get the content loaded in the portal content area? What is the name of the portal content area frame?
    Thanks
    Sriram

    Hi Sriram,
            I confronted with the same issue as yours but then i did the following.......
    Presuming that two iviews are already created i.e.
        1.Navigation Panel iview with links (left)
        2.different iviews associated to the links.
    Now,
         >>Open the other iviews and select Dynamic navigation in the context menu.
         >>Right click on the navigation panel iview having the links and select "Add to Dynamic Navigation"
    In the first iview for the link the code i gave is
    <a href="link2" class="urLnk" onclick="return EPCM.doNavigate('ROLES://portal_content/xyz/Pages/sampleiview')">Link to Project Plan</a>
    No need of the parent,self,.....etc.
    Hope this helps.
    regards,
    Joshua Kiran

  • Open portal page via HTML URL out of the "Dynamic Navigation"

    Hi everybody,
    In our portal environment we have a page (page1) in which user can enter date. On another page (page2) in a different navigation node there is a report that shows the data. We want to provide a possibility to navigate directly from page1 to page2.
    Our idea was to have a KM-document iView  in the "dynamic navigation" of page1 with a link to page2.
    that works fine. but page2 is not opened in the whole window but in the dynamic-navigation-frame.
    the link looks the following:
    <A HREF="http://xxxxxxxx.xxx:1235/irj/portal/index.htm?navigationtarget=roles://portal_content/folder/role/workset/page/">
    Its obvious that the link is opened in the same frame because no target property is added to the href.
    I thought about adding a the "target" property to the  href, but I don't know how the Frame is named.
    I have tried this:
    <A HREF="http://xxxxxxxx.xxx:1235/irj/portal/index.htm?navigationtarget=roles://portal_content/folder/role/workset/page/" target="MainFrame">
    but it didn't work.
    Does anybody know how the MainFrame in the portal is named or has any other solution to my problem.
    Regards, Alex
    Edited by: Alexander Paulus on Nov 20, 2008 4:09 PM

    kind of simple
    user target="_top" to have the page displayed in the whole window.
    Regards, Alex

  • Get Dynamic HTML from Apex Page as CLOB

    Good Morning,
    I have two APEX pages that are designed to provide formatted report content; however, these are not intended to be navigable from within the application. In other words, I am not letting the user view the pages directly. Instead, their purpose is to generate dynamic content so that I can feed their HTML into a HTML to PDF converter so the generated PDF can be attached to an email and sent to clients. I have found that the easiest way to generate this report is directly in APEX, but I haven't yet found a way to just run the page via a PL/SQL API and retrieve the dynamic content into a CLOB so that I can send it to my converter utility. I have tried UTL_HTTP, but I am either using that API incorrectly, or the security context of the session is not proagating to the call (this is being performed in a secure APEX application), thus I receive the following error [ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1674 ORA-29024: Certificate validation failure]. I am using Apex version 3.2. Does anyone know a good and straight-forward API for doing what I need to accomplish? Thanks in advance.
    Erik

    To mimic the users session, you'd have to forward on the session cookies as part of the HTTP request.
    A simpler option:
    * Allow public access to the page
    * Apply an authorization scheme to the page that looks something like this...
    if owa_util.get_cgi_env('REMOTE_ADDR') = '127.0.0.1' then
      return true;
    else
      return false;
    end if;(PL/SQL Function Returning Boolean)
    Then when you perform the request in your code, use 127.0.0.1 instead of the host name.

  • Dynamic Navigation and Teamviewer

    We programed our own iviews in WebDynpro for using in manager selfservice.
    For changing between different employees, we assigned the standard SAP teamviewer as a dynamic navigation to the pages which include our WebDynpro iviews.
    This proceeding works well. For each iview we can change the employee we like to work on. But if we go to another WebDynpro application in the navigation path, the teamviewer is open in a new way. So the teamviewer lose the indicated employee by stepping from the first to the next application.
    But by using the standard manager role, the teamviewer hold the selected employee.
    How can I get this effect? Where can I find same information about this problem?

    Hi,
    Maybe it has to do with the isolation of the iView. By default (i guess) it is configured to be "embedded" on page, this will result in refreshing. Set the iViews to "URL" (and also set the highttype to "automatic").
    Otherwise it has to do with the navigation. Are u using the Light Portal Framework?
    If so it could be the case that the navigation is triggering a complete page refresh instead of only refreshing the content area..
    regards,
    Benjamin

  • Dynamic Navigation opens in new window

    I currently have an KM Navigation iView assigned to Dynamic Navigation of a page.  Clicking on internal links in the Navigation iView opens in a new window.  Is there any way to configure the KM Navigation iView (assigned to Dynamic Navigation) to display in the Portal content area instead of opening in a separate window?

    If you're using Safari, choose Preferences from the Safari menu, click on Tabs, and change the setting.
    (53516)

  • Dynamic navigation to Component of IBase

    Hi Team,
    The requirement is need to navigate to Component Of IBase from our custom view.
    By using the Search Query we are able to get the collection IBComponent.
    How can i proceed with the dynamic navigation in my hyperlink event.
    In the SPRO settings the object details of IBMAIN has not been maintained.
    Kindly share your thoughts.
    Thanks,
    Ravi

      HI Ravi,
    Try to use below logic in Event handler of hyperlink.
    data:  lv_descriptor_object  TYPE REF TO if_bol_bo_property_access,
            lr_navigation         TYPE REF TO if_crm_ui_navigation_service,
            lr_data_collection    TYPE REF TO if_bol_bo_col,
    lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
      CALL METHOD cl_crm_ui_descriptor_obj_srv=>create_ui_object_based
      EXPORTING
        iv_ui_object_type   = 'IB150_IBASE'
        iv_ui_object_action = 'B'
        RECEIVING
        rr_result           = lv_descriptor_object.
       IF lv_descriptor_object IS BOUND.
        CREATE OBJECT lr_data_collection TYPE cl_crm_bol_bo_col.
       lr_query = cl_crm_bol_query_service=>get_instance(
            iv_query_name = 'IBIBaseToIBase' ).
            REFRESH it_parms.
            wa_parms-name = 'IBASE'.
            wa_parms-VALUE = lv_ibase.(Your ibase iD)
            APPEND wa_parms TO it_parms.
    *Add the selection parameters
            CALL METHOD lr_query->set_query_parameters
            EXPORTING
              it_parameters = it_parms.
    *Get the result list
            lr_result = lr_query->get_query_result( ).
    *Get the first object(entity) in the result list
            lr_entity ?= lr_result->get_first( ).
            CHECK lr_entity IS BOUND.
            lr_data_collection->add( lr_entity ).
            lr_data_collection->insert( iv_bo = lv_descriptor_object
            iv_index = 1 ).
            IF lr_navigation->is_dynamic_nav_supported( ir_descriptor_object = lv_descriptor_object ) = abap_true.
              lr_navigation->navigate_dynamically( lr_data_collection ).
            ENDIF.

  • Dynamically build URLS  for dynamic navigation

    hello all, I am trying to develop dynamic navigation for pl/sql portlets in oracle portal 10g. When admins place the portlets i develop on pages or tabs, etc, i would like to be able to query the database for there location(what page or tab its assigned to) dynamically so i can build links that would allow linking from portlet to portlet no matter where the admin placed them in the Portal. So my question is, what table or tables list the page_id or tab_id for portlets when they are added to a region on page or tab???

    The Content Area Views describe the information that you can access from PL/SQL.
    Peter

Maybe you are looking for

  • Can you use Airdrop between two Macs witch the same Apple ID?

    Hi everyone, you can see my question above. I have a MacBook Pro and an iMac but airdrop doesn`t seem two work between those two. They both use Mountain Lion. Its an iMac late 2012 and the MacBook Pro Retina mid 2012. This means that from a technical

  • Using xorg 1.5 in testing with some problem with keyboard and mplayer

    I have the following lines in my xorg's log file: (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (WW) RADEON(0): R500 support is under development. Please report any issues to [email protected] (WW) RADEON(0): LVDS Info: (WW)

  • LOAD BALANCER

    How to find the port & host  used for load balancer in Dual stack systems. ABAP & Java.

  • I need help with my installation

    So I get the Disk for OS X 10.4. And installed it and everything has worked fine up to after the restart. Now it is asking for my serial number and yet when i enter it, it was it has expired or the server time is incorrect, yet i can't do anything ab

  • Log of change on CCS

    Hi All, In transaction ES56 (Change Connection Object), the option Extras (Changes to Object), shows the log of changes related to the Connection Object. This log is generated only for changes in standard data such as: address, city, state, country,