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.

Similar Messages

  • 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

  • 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??

  • 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

  • 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

  • Override default view with dynamic navigation

    Hi,
    I have an URL parameter, based on what I do a dynamic navigation
    wd_this->wd_get_api( )->if_wd_navigation_services~do_dynamic_navigation()
    in the WINDOW DEFAULT inbound plug.
    However the navigation is overridden by what is set as a default view in the WINDOW tab.
    I tried
          lr_window_controller = wd_this->wd_get_api( )->get_embedding_window_ctlr( ).
           lr_rr_window = lr_window_controller->get_window_info( ).
           lr_view_usage = lr_rr_window->get_view_usage( 'MAIN_USAGE_0' ).
           lr_view_cnt_assignment = lr_view_usage->get_view_cnt_assignment( 'FUNC_VCA_1' ).
           lr_view_cnt_assignment->set_default_view_usage( 'NOTDEFAULTVIEW_USAGE_1' ).
    but not helping, still the default view is appearing. FUNC_VCA_1 in the above code is a view_container, I am trying to set a view active inside that view container.
    Any ideas?
    Thanks!

    Guys, there are some confusions here. Take the following case:
    1) Embed both COMP_A/VIEW_A and COMP_B/VIEW_B into a view container, and set COMP_A/VIEW_A as default
    2) Create a navigation between outbound plug TO_VIEW_B and inbound plug COMP_B/VIEW_B default plug
    3) In WINDOW default, based on a parameter wd_this->fire_to_view_b_plg( ).
    This works, COMP_B/VIEW_B is visible!
    Now remove the navigation link, remove COMP_B/VIEW_B from the window and enter the following code in the handlefeault:
          wd_assist->m_akt_comp_usage = wd_this->wd_get_api( )->if_wd_navigation_services~do_dynamic_navigation(
               source_window_name        = 'WINDOW'
               source_vusage_name        = 'MAIN_USAGE_0'
               source_plug_name          = 'TO_VIEW_B'
    *          plug_parameters           = lt_params
               target_component_name     = 'Z_WD_COMP_B'
               target_component_usage    = 'COMP_B_USAGE_1'
               target_view_name          = 'WINDOW'
               target_plug_name          = 'DEFAULT'
               target_embedding_position = 'MAIN/VIEWCONTAINER'
    NWhile I do get back the navigation link and inside do_dynamic_navigation there is a code to create the component and fire the plug, COMP_B/VIEW_B is not showing. Also please note, that if I do that on a button click it works. The problem is only inside handle default method.
    Thanks!

  • Dynamic Navigation not appear

    Hello! I would like to add Dynamic Navigation to my iView.
    I create simple iView wich would be dynamic navigation
    <hbj:content id="myContext" >
      <hbj:page title="PageTitle">
       <hbj:form id="myFormId" >
    Hello!
       </hbj:form>
      </hbj:page>
    </hbj:content>
    Than I'm doing like this:
           1.      From the Portal Catalog, right-click the page or iView to which you want to assign a navigation object, and from the context menu choose Open ® Dynamic Navigation.
    The Dynamic Navigation Editor opens.
           2.      In the Portal Catalog, right-click the page/iView that you want to assign as a dynamic navigation iView, and from the context menu choose Add to Dynamic Navigation.
           3.      Continue to assign navigation objects as needed.
           4.      Choose Save.
    But there nothing happen. Left colomn in main iView is empty. What I miss? (EP 6.0)

    Hi Paul,
    I am trying to develop a "Dynamic Navigation" iView which will be having links for difference employees, After clinking on these link the related information will be shown in content area of the portal.
    Could you please advise me in step involved. Or if you can send me some documentation/sample code on this.
    Thanks in advance.
    Abu.

  • IViews in dynamic navigation take up whole content area

    Hi,
    I'm having a problem using dynamic navigation. I've created two Web Dynpro iViews A and B. I've added B to the dynamic navigation of A and put A into a role. Know when I want to view A, I can see the iViews loading, B in the navigation panel and A on the right of the panel. But once they are loaded, B is shown in the content area, "above" A (effectively hiding it). Once I remove B from the dynamic navigation, A is shown fine.
    Any ideas to solve this?
    thanks,
    Lieven

    Hi Lieven!
    I can only guess, that the WebDynpro integration-IView is designed to run in the content area alone and forces so.
    Did you try to run other (sap provided) WebDynpro iviews from the dynamic navigation?
    Regards,
      Jürgen

  • Need help to build a navigation from billing component BEABDS_BILLDOC to sales order component BT115H_SLSO on follow up create action

    Hello Experts,
    I have been assigned to a CRM-UI Object which is basically to create follow-up action i.e. creating debit/credit memos with reference of one/multiple billing documents.
    SAP has already provided an option to create the follow-up action for 1 billing document at a time, but the requirement is to create follow-up action for multiple billing documents at a time. For example, There are 2 invoices raised against a dealer "DEL" and due to some reason the dealer wants to send back the products.
    Now the dealer wants to create only 1 claim/return for those 2 invoices, Which Standard SAP doesn't provide.
    I did some of the development and added the 'Follow-up create' Button to the search result work area of the billing search. But could not able to build the link between the Billing and Sales order Components.
    It would be really a great favor if you can guide me to build this navigation link.
    Please let me know if any further information required.
    Please find the attachment for step-by-step process.
    Codes and Configs:
    Method DO_PREPARE_OUTPUT to provide the “Follow-up Create” Button
    method DO_PREPARE_OUTPUT.
    CALL METHOD SUPER->DO_PREPARE_OUTPUT .
    DATA:
    lr_coco                  TYPE REF TO cl_beabds_b_bspwdcomponen_impl,
    ls_button                TYPE crmt_thtmlb_button,
    lv_usage                  TYPE string,
    lv_info                  TYPE string,
    lv_info_transfert        TYPE string,
    lv_show_btn_transfer      TYPE boolean VALUE abap_false,
    lv_show_btn_cancel        TYPE boolean VALUE abap_false,
    lv_show_btn_split        TYPE boolean VALUE abap_false,
    lv_show_btn_create      TYPE boolean VALUE abap_false,
    lr_col                    TYPE REF TO if_bol_bo_col,
    lv_show_separator        TYPE abap_bool,
    lv_num_marked            TYPE i,
    lr_entity                TYPE REF TO if_bol_bo_property_access,
    lv_appl                  TYPE bea_appl_ubd.
    lr_coco ?= comp_controller.
    lr_col  = me->typed_context->ubdheader->collection_wrapper->get_marked( ).
    lv_num_marked = lr_col->size( ).
    * Decide based on the usage which buttons should appear, others are not shown by default
    CALL METHOD lr_coco->get_env_info
    IMPORTING
    ev_usage          = lv_usage
    ev_info          = lv_info
    ev_info_transfert = lv_info_transfert.
    CASE  lv_usage.
    WHEN cl_beabds_b_bspwdcomponen_impl=>gc_usage_search_result.
    IF lv_info_transfert = cl_beabds_b_bspwdcomponen_impl=>gc_inf_trans_search_result.
    lv_show_btn_create = abap_true.
    lv_show_separator = abap_true.
    ENDIF.
    ENDCASE.
    if  lv_show_btn_create  = abap_true.
    *  Separator between two buttons if needed
    IF lv_show_separator = abap_true.
    CLEAR ls_button.
    ls_button-type = cl_thtmlb_util=>gc_separator.
    APPEND ls_button TO gt_buttons.
    lv_show_separator = abap_false.
    ENDIF.
    CLEAR ls_button.
    IF lv_num_marked > 0.
    ls_button-enabled = abap_true.
    ELSE.
    ls_button-enabled = abap_false.
    ENDIF.
    ls_button-text      = text-001.
    ls_button-id        = 'BTN_CREATE'.                    "#EC NOTEXT
    ls_button-on_click  = 'CREATE'.                        "#EC NOTEXT
    APPEND ls_button TO gt_buttons.
    lv_show_separator = abap_true.
    ENDIF.
    endmethod.
    METHOD eh_oncreate.
    * Added by wizard: Handler for event 'CREATE'
    TYPES: BEGIN OF ty_trans,
    process_type      TYPE crmt_process_type,
    proc_type_descr_20 TYPE crmt_description_20,
    subobject_category TYPE crmt_subobject_category,
    subob_cat_descr_20 TYPE crmt_description_20,
    END OF ty_trans.
    DATA: lt_trans      TYPE STANDARD TABLE OF ty_trans ,
    ls_trans      TYPE ty_trans ,
    lv_ref_struct TYPE REF TO  ty_trans.
    DATA:
    lv_struct_ref TYPE REF TO crmt_extbt_il_header_ref,
    lv_value_node TYPE REF TO cl_bsp_wd_value_node,
    lr_ent        TYPE REF TO if_bol_bo_property_access,
    lv_bo_coll    TYPE REF TO if_bol_bo_col,
    ls_ref_header TYPE crmt_extbt_il_header_ref,
    lv_title      TYPE string,
    lr_comp_ctrl  TYPE REF TO cl_beabds_b_bspwdcomponen_impl,
    lr_cw        TYPE REF TO cl_bsp_wd_collection_wrapper,
    lr_col        TYPE REF TO if_bol_bo_col,
    lr_col_proc  TYPE REF TO if_bol_bo_col,
    lr_bo        TYPE REF TO cl_crm_bol_entity.
    IF gv_fu_popup IS NOT BOUND.
    lv_title = cl_wd_utilities=>get_otr_text_by_alias( 'CRM_UIU_BT/FOLLOW_UP' ).
    gv_fu_popup = comp_controller->window_manager->create_popup(
    iv_interface_view_name = 'MainWindow'
    iv_usage_name          = 'UCBTEXTFOLLOWUP'
    iv_title              = lv_title ).
    ENDIF.
    CREATE OBJECT lv_bo_coll TYPE cl_crm_bol_bo_col.
    lr_comp_ctrl ?= me->comp_controller.
    lr_cw = lr_comp_ctrl->typed_context->ubdheader->collection_wrapper.
    lr_col  = lr_cw->get_marked( ).
    CREATE DATA lv_struct_ref.
    CREATE OBJECT lv_value_node
    EXPORTING
    iv_data_ref = lv_struct_ref.
    CHECK lr_col IS BOUND AND lr_col->size( ) > 0.
    CREATE OBJECT lr_col_proc TYPE cl_crm_bol_bo_col.
    lr_bo ?= lr_col->get_first( ).
    WHILE lr_bo IS BOUND AND lr_bo IS NOT INITIAL.
    lr_bo->get_property_as_value(
    EXPORTING
    iv_attr_name    = 'HEADNO_EXT'
    IMPORTING
    ev_result      = ls_ref_header-object_id  ).
    ls_ref_header-object_type = 'BILLDO'.                  "#EC NOTEXT
    lv_value_node->set_properties( ls_ref_header ).
    lv_bo_coll->add( lv_value_node ).
    lr_bo ?= lr_col->get_next( ).
    ENDWHILE.
    gv_fu_popup->set_on_close_event( iv_view = me iv_event_name = 'FOLLOWUP_SEL_CLOSED' ).
    gv_fu_popup->set_display_mode( if_bsp_wd_popup=>c_display_mode_surrounded ).
    gv_fu_popup->open( iv_inbound_plug = 'EXTFOLLOWUP' iv_collection = lv_bo_coll ).
    ENDMETHOD.
    method EH_ONFOLLOWUP_SEL_CLOSED.
    * Added by wizard: Handler for event 'FOLLOWUP_SEL_CLOSED'
    DATA:
    lr_context_node  TYPE REF TO cl_bsp_wd_context_node,
    lr_current      TYPE REF TO cl_crm_bol_entity,
    lr_col          TYPE REF TO if_bol_entity_col,
    lr_wdw          TYPE REF TO cl_bsp_wd_window.
    IF gv_fu_popup->get_fired_outbound_plug( ) EQ 'LEAVE'. "# EC NOTEXT
    lr_context_node = gv_fu_popup->get_context_node( iv_cnode_name = 'BTORDER' ). "# EC NOTEXT
    CHECK lr_context_node IS BOUND.
    lr_current ?= lr_context_node->collection_wrapper->get_current( ).
    CHECK lr_current IS BOUND.
    CREATE OBJECT lr_col
    TYPE
    cl_crm_bol_entity_col.
    lr_col->add( lr_current ).
    lr_wdw = me->comp_controller->if_bsp_wd_window_manager~get_window( 'MainWindow' ).
    lr_wdw->call_outbound_plug( iv_outbound_plug = 'NAVIGATE_CREATE' iv_data_collection = lr_col ). "#EC NOTEXT
    ELSEIF gv_fu_popup->get_fired_outbound_plug( ) EQ 'LEAVEPROCTYPE'. "# EC NOTEXT
    gv_fu_popup->set_on_close_event( iv_view = me iv_event_name = 'FOLLOWUP_SEL_CLOSED' ).
    gv_fu_popup->open( iv_inbound_plug = 'EXTFOLLOWUPITEMS' ).
    ENDIF.
    endmethod.
    method OP_NAVIGATE_CREATE.
    * Added by wizard: Outbound plug 'NAVIGATE_CREATE'
    DATA:
    lr_window TYPE REF TO cl_bsp_wd_window.
    lr_window = me->view_manager->get_window_controller( ).
    lr_window->call_outbound_plug( iv_outbound_plug  = 'NAVIGATE_CREATE'
    iv_data_collection = iv_data_collection ).
    endmethod.
    Thanks,
    Subhash.

    Hi Srikanth,
    I believe You are trying to implement dynamic navigation..
    lv_data_collection->add( lv_descriptor_object ).
    I can see lv_data_collection is not having the actual entity just the descriptor object details you are adding in the lv_data_collection..
    If you don't have the context node binding between source and destination component, add the required data to lv_data_collection
    , in the target component inbound plug retrieve the same data entity and set it on the relevant context node.
    To get an idea, check standard component for where dynamic navigation is implemented.
    Hope this helps..
    Cheers,
    Sumit Mittal

  • Error while navigating from a report in OBIEE

    I get the below error while navigating from one report to another report
    Odbc driver returned an error (SQLExecDirectW).
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.
    [nQSError: 16001] ODBC error state: 37000 code: 1101 message: [Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate a new page for database 'TEMPDB'
    because of insufficient disk space in filegroup 'DEFAULT'. Create the necessary space by dropping objects in the filegroup
    , adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup..
    [nQSError: 16015] SQL statement execution failed. (HY000).
    Any inputs on this is highly appreciated.
    Thanks,
    Vasavi

    Hi Vasavi,
    There is no Temp space in Data base to run queries .Please contact your DBA to increase your db size
    thanks,
    saichand.v
    Edited by: Saichand Varanasi on Jul 14, 2010 7:35 AM

  • Error with getAttribute( ) function, while navigating from parent to child

    Hi,
    I have been trying to develop a small project with two task flow(TF).
    Both the TF contains only one page.
    Both of my pages are made from different VO,s.
    from the Parent page (P1) if i select a row and navigate to Child Page (P2), i need to filter the result in P2 using the selected row in P1.
    From P1 when i selected a row and navigate to P2 by clicking a button, i have used a Bean to get the parameters from the selected row and Passed the same to TF2.
    I made an AMImpl method and binded it to P2, such that whenever my P2 render this AMImpl method will be executed.
    Inside the AMImpl method i am trying to run the VO query of P2 with new selected criteria from TF1 ie.P1.
    i also have few more functionalites in P2 like when i select a row and clicks on a button i will some some info on a pop-up for the corresponding selected row.
    When i run the page P2 individually,all works fine. But when i navigate from P1 to P2 none of the functions are working, i.e when i click on the button on P2 to see popup its showing that Attribute is Null in the selected row, even though the attribute is not null. After navigation in P2 this function getAttribute( ) is returning null. but when i run P2 individually the same function is returning all required fields without error.
    Actual AMimpl.java method code :
    RowKeySet selectedRows =
    Table.getSelectedRowKeys(); //Table is a "Rich Table" i declared outside the method and binded to my actual table on P2
    Iterator selectedRowsIterator =
    selectedRows.iterator();
    DCBindingContainer dc =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding iterBinding =
    dc.findIteratorBinding("P2Iterator");
    RowSetIterator rowSetIterator = iterBinding.getRowSetIterator();
    Key selectedRowkey =
    (Key)((List)(selectedRowsIterator.next())).get(0);
    Row selectedRow = rowSetIterator.getRow(selectedRowkey);
    String parameter1ForCurrentRow =
    selectedRow.getAttribute("parameter1").toString(); // -->this particular line is returning null while navigating from P1 to P2, but the same line returns actual value if the run P2 individually
    Kindly guide me how to achieve this.
    Regards
    Siva

    Hi Timo
    thanks for your reply.
    The reason I am doing this is to avoid the numerous instances of VO2 (Child VO) that will get created for every row of VO1. (eg: 100 rows of Vo1 means 100 instances of VO2 created & executed ).
    I am trying to avoid that by Binding and executing the params to a single child VO instance, only on the click of a button.
    Please advise if my assumption about as many child instances of VO2 being created and executed is incorrect and ADFBC does some kind of Lazy instantiation / loading of the child VO until the point of execution of the UI code where it is bound to ?

  • Blank Screen while navigating from one screen to another in a web applicati

    Blank Screen while navigating from one screen to another in a web application.
    While navigating through the screens of the web-based application, I get blank screen at times. The application menu bar is still visible and the header and footer jsps are also still available. The main processing frame alone goes blank. Once I get the blank screen, I am able to choose from the menu option and contine navigating through the screens.
    The application has been deployed on WebSphere Application Server v6.0 and uses JDK 1.4.2. I have checked the application, server and systemerr logs. And there are no exceptions in any of the log files. There is no difference in the logs for a normal flow and the flow when the blank screen occurs.
    The blank screen does not occur always. It occurs around 3 out of 10 times. If you consider a particular page, mostly it loads normally and very few times, the blank screen occurs.
    Compression filter is being used and it gets invoked for every request. Size before and after compression also gets printed in the logs.
    Could this be causing any issue in terms of memory handled or could any jsp timeout be happening, though there are no exceptions in the logs.

    Well, since no one has any ideas, here is my two cents worth:
    Can you turn off compression and see if the problem goes away? If not, I suggest creating a small separate project with the same functionality as that part of the program that causes problems and see if you can duplicate it. Use System.out.println() in the java code and out.write() in the JSP pages throughout the java and JSP code to write to the log file or console as each section is run to see what section is causing problems. You can also consider commenting out sections of code in your JSP page to see if you can isolate the problem.
    I had a similar problem with the screen being blank and this is what I found:
    My JSP page had an include tag in it that included another JSP page. The outer JSP page was drawn and waited for the included JSP page to be drawn. The logic took several minutes to run and something timed out. The inner JSP page was never drawn. No log entry occurred. It appears that it was not Apache or Tomcat that caused the problem, but some firewall or similiar such device. If you have a firewall or similar device, see if the person who maintains it can temporarily set its timeout to a very long time (15 minutes) to see if the problem goes away. Apache and Tomcat probably also have a timeout feature too. You will have to read up on their configuration settings on how to set them.
    By the way, each of those devices probably has its own log file you can read to see if its reporting an error.

  • 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

  • [ADF-11.1.2] Security 401 error ONLY while navigating from 1 BTF to another

    Hi,
    I have 2 BTF in my Security-Enabled ADF application. First BTF has a Task Flow Call to another BTF.
    I then created 2 web pages for each BTF. Page A for first BTF and B for second BTF.
    If I open any page, it ask for Authentication and display the page with BTF content on web browser.
    The only Problem is, if I click on the button on first BTF which has a navigation to second BTF, it throws me following error.
    Note: All Task Flows and web page has 'View' permission for 'authenticated-role' Rule. Can someone please explain if I can open 2 BTF separately, then why it is throwing 401 error while navigating from 1 BTF to another. Am I missing assigning any permission ?
    javax.servlet.ServletException: ADF_FACES-60101:HTTP Error Status Code: 401."
         at oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse._logException(XmlHttpServletResponse.java:140)
         at oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse.sendError(XmlHttpServletResponse.java:106)
         at oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse.sendError(XmlHttpServletResponse.java:100)
         at oracle.adfinternal.controller.util.JsfInterfaceImpl.sendResponseError(JsfInterfaceImpl.java:477)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.handleException(ControlFlowEngine.java:725)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:934)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:824)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:554)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:158)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:115)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:84)
         at org.apache.myfaces.trinidadinternal.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:50)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:159)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1129)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:353)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:204)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:121)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    I upgraded to 11.1.2.2... and the good news is.. it throws me more appropriate error message:-
    ADFC-0619: Authorization check failed: '/WEB-INF/task-flow-name' 'VIEW'.
    ADF_FACES-60097:For more information, please see the server's error log for an entry beginning with: ADF_FACES-60096:Server Exception during PPR, #2I was using template taskflow from another adf application, but I failed to give permission to that task flow template because I didn't check "Show task flows imported from ADF libraries".
    I gave permission to task template and is working fine now.. :)

Maybe you are looking for