Skip to Content
avatar image
Former Member

Accessing the parameters of window inbound plug in embedded view.

Hi experts,

I am facing problem with the accessing parameter values of  inbound plug of window in the one of view embedded in the window.

i am setting the parameter values in out bound plug of view present in one component. and receiving the parameter in interface view(window)of another component.Now i want to access this parameter value in one of the view embedded in window .

what is the solution for this?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • avatar image
    Former Member
    May 03, 2012 at 09:55 AM

    Hi,

    You can do it in two ways

    First,

    Declare some attributes in component controller level and read your parameters coming in your inbound plug of window and set them to attribute in component controller and accept it in view.

    Second,

    You can create a window outbound plug(standard plug) and navigate to your view with inbound plug and pass your values using plug parameters.

    I would prefer the first one.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 04, 2012 at 04:20 PM

    Hi Vishal

    you can do this way...

    Create an outbound plug in Window with the parameters. And set values into this parameter.

    Create an Inbound plug in the view with the same parameters.

    Now provide link between these two plugs. In method get the values from the parameters of Inbound plug and set those vales into the context node.

    Thanks and Regards

    Pradeep

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 11, 2012 at 06:19 AM

    HI Vishal

    I think following areticle will help you to find out the answer.

    Here I have two views View1 and View 2. There is a componenet controller and another custom controller. In Component Controller I created node 'NODE_EMP1'  and it has the attributes

    NAME, CITY and STATE.

    And in custom cotroller I created another node same as the node in component controller.

    That node is NODE_EMP2.

    And there are two views View one which is mapped with Component controller. View_Two which is mapped with Custom controller.

    In both views we have to include the window controller, in the  property tab of view.

    View_Two mapped with ZEMP_CUST_CONTROLLER context.

    Created an Inbound plug in View2.

    Now If you want to pass the data through Window parameter see the follwoing.

    Here I have created an outbound plug with three parameters.

    Next we have to embed these views in Window and link the plugs.

    Oubound plug of window is linked with Inbound plug of View2.

    Now save Window.

    I am triggering the plug in View 1. We are entering the values in View one  and clicking on the button it will trigger the plug. So ONACTIONCLICK method of View one give the follwoing code.

    method onactionclick .
            data:
              node_node_emp1                      type ref to
    if_wd_context_node,
              elem_node_emp1                      type ref to
    if_wd_context_element,
              stru_node_emp1                      type
    if_view_one=>element_node_emp1 .
    *       navigate from <CONTEXT> to <NODE_EMP1> via lead selection
            node_node_emp1 = wd_context->get_child_node( name =
    if_view_one=>wdctx_node_emp1 ).

    *       get element via lead selection
            elem_node_emp1 = node_node_emp1->get_element(  ).

    *       get all declared attributes
            elem_node_emp1->get_static_attributes(
              importing
                static_attributes = stru_node_emp1 ).

    data: l_ref_main_window type ref to ig_main_window .
    l_ref_main_window =   wd_this->get_main_window_ctr( ).
      l_ref_main_window->fire_ob_window_plg(
        p_city =                           stru_node_emp1-city         
        p_name =                           stru_node_emp1-name
        p_state =                          stru_node_emp1-state

      ).


    endmethod.

    And we have to get those values in View two and we should set those values in the node of Custom controller. In Handle method of View two write the following code.

    method handleib_view2 .

    data: lv_name type string,
          lv_city type string,
          lv_state type string.

    wdevent->get_data(
      exporting
        name   = 'P_NAME'
      importing
        value  = lv_name
           ).

    wdevent->get_data(
      exporting
        name   = 'P_CITY'
      importing
        value  = lv_city
           ).

    wdevent->get_data(
      exporting
        name   = 'P_STATE'
      importing
        value  = lv_state
           ).

      data:
        node_node_emp2                      type ref to if_wd_context_node,
        elem_node_emp2                      type ref to if_wd_context_element,
        stru_node_emp2                      type if_view_two=>element_node_emp2 ,
        item_ecity                          like stru_node_emp2-ecity.
    * navigate from <CONTEXT> to <NODE_EMP2> via lead selection
      node_node_emp2 = wd_context->get_child_node( name = if_view_two=>wdctx_node_emp2 ).


    node_node_emp2->set_attribute(
    *    INDEX  = USE_LEAD_SELECTION
        value  = lv_name
        name   = 'ENAME'
           ).

    node_node_emp2->set_attribute(
    *    INDEX  = USE_LEAD_SELECTION
         VALUE  = lv_city
         name   = 'ECITY'
           ).

    node_node_emp2->set_attribute(
    *    INDEX  = USE_LEAD_SELECTION
         VALUE  = lv_state
         name   = 'ESTATE'
           ).
    endmethod.

    Save it. Create a WD application and Activate. And execute.

    Output

    If you want to pass the data through parameters of View use the following.

    Create an outbound plug in View1 with parameters.

    In Window - Outbound plug of view1 should be linked with Inbound plug of View 2.

    Give the Following code in the Onaction click method of View1.

    method ONACTIONCLICK .
       DATA:
          node_node_emp1                      TYPE REF TO
    if_wd_context_node,
          elem_node_emp1                      TYPE REF TO
    if_wd_context_element,
          stru_node_emp1                      TYPE
    if_view_one=>element_node_emp1 .
    *   navigate from <CONTEXT> to <NODE_EMP1> via lead selection
        node_node_emp1 = wd_context->get_child_node( name =
    if_view_one=>wdctx_node_emp1 ).

    *   get element via lead selection
        elem_node_emp1 = node_node_emp1->get_element(  ).

    *   get all declared attributes
        elem_node_emp1->get_static_attributes(
          IMPORTING
            static_attributes = stru_node_emp1 ).


       wd_this->fire_ob_view1_plg(
         p_city =                            stru_node_emp1-city
         p_name =                            stru_node_emp1-name
         p_state =                           stru_node_emp1-state
       ).

    endmethod.

    In View Two handle method provide the follwoing code.

    method handleib_view2 .
      data: name      type string,
            city      type string,
            state     type string.


      name = p_name.
      city = p_city.
      state = p_state.

      data:
        node_node_emp2                      type ref to if_wd_context_node,
        elem_node_emp2                      type ref to
    if_wd_context_element,
        stru_node_emp2                      type
    if_view_two=>element_node_emp2 ,
        item_ename                          like stru_node_emp2-ename,
      item_estate                         like stru_node_emp2-estate,
      item_ecity                          like stru_node_emp2-ecity.
    * navigate from <CONTEXT> to <NODE_EMP2> via lead selection
      node_node_emp2 = wd_context->get_child_node( name =
    if_view_two=>wdctx_node_emp2 ).

    * get element via lead selection
      elem_node_emp2 = node_node_emp2->get_element(  ).

    * get single attribute
      elem_node_emp2->set_attribute(
        exporting
          name =  `ENAME`
          value = name ).


    *   navigate from <CONTEXT> to <NODE_EMP2> via lead selection
        node_node_emp2 = wd_context->get_child_node( name =
    if_view_two=>wdctx_node_emp2 ).

    *   get element via lead selection
        elem_node_emp2 = node_node_emp2->get_element(  ).

    *   get single attribute
        elem_node_emp2->set_attribute(
          exporting
            name =  `ESTATE`
            value = state ).

    * navigate from <CONTEXT> to <NODE_EMP2> via lead selection
      node_node_emp2 = wd_context->get_child_node( name =
    if_view_two=>wdctx_node_emp2 ).

    * get element via lead selection
      elem_node_emp2 = node_node_emp2->get_element(  ).

    * get single attribute
      elem_node_emp2->set_attribute(
        exporting
          name =  `ECITY`
          value = city ).

    endmethod.

      

    Regards

    Pradeep.

    Add comment
    10|10000 characters needed characters exceeded