cancel
Showing results for 
Search instead for 
Did you mean: 

getting value from a custom component as Popup

Former Member
0 Kudos

Hi all,

I have create a custom component and have called this in standard component BT116IT_SRVO as Popup.Now in the Custom Popup there are 8 fields which

user has to select,after selecting click Ok..Now i am able to close the popup but not getting the values from the popup to my standard event handler.

How to bring the values from POP up to my original component!.Please help

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi

Former Member
0 Kudos

I am trying to pass my popvalues to my view handler in the main component

things which i have done:


   CONFIRM_POPUP->set_on_close_event( iv_view = me iv_event_name =
CLOSE_POPUP ).
     CONFIRM_POPUP->open( 'OPEN' ).

after calling the popup and triggering from my pop event

     lr_window ?= me->view_manager->get_window_controller( ).
data:gs_string type SEOCMPNAME.
gs_string  = 'CLOSE'.
   lr_window->call_outbound_plug( iv_outbound_plug = gs_string  ).

after closing the pop my event in the viewis triggerd and following code is written to capture the values

  lr_items ?= me->typed_context->btitems->collection_wrapper->get_current( ).
     CHECK lr_items IS BOUND.
*   New (Tree) PopUp
     CHECK CONFIRM_POPUP->get_fired_outbound_plug( ) = zl_ZSAFE_FI_bspwdcomponen_impl=>gc_op_ok.
     lr_prod_node = CONFIRM_POPUP->get_context_node( 'VALUE' ). "#EC NOTEXT
     CHECK lr_prod_node IS BOUND.

     lr_prod_value ?= lr_prod_node->collection_wrapper->get_first( ).
*    lr_prod_value ?= lr_prod_node->collection_wrapper->get_current( ).

     WHILE lr_prod_value IS BOUND.
       lr_prod_value->get_properties( IMPORTING es_attributes = ls_prod_prop ).

but am not gettting values inside the above step.

I have used same context node and bineded with the target.

* bind single item component usages
       iv_usage->bind_context_node( iv_controller_type  = cl_bsp_wd_controller=>co_type_component
                                    iv_target_node_name = 'BTADMINI'
                                    iv_node_2_bind      = 'BTADMINI' ).

Please advice

 

Former Member
0 Kudos

   lr_items ?= me->typed_context->btitems->collection_wrapper->get_current( ).
     CHECK lr_items IS BOUND.
*   New (Tree) PopUp
     CHECK CONFIRM_POPUP->get_fired_outbound_plug( ) = zl_ZSAFE_FI_bspwdcomponen_impl=>gc_op_ok.
     lr_prod_node = CONFIRM_POPUP->get_context_node( 'VALUE' ). "#EC NOTEXT
     CHECK lr_prod_node IS BOUND.

     lr_prod_value ?= lr_prod_node->collection_wrapper->get_first( ).

i have values up to this point..but when am trying next strep the es_attributes/ls_prod_prop  is coming blank.!

  lr_prod_value->get_properties( IMPORTING es_attributes = ls_prod_prop ).



0 Kudos

Hi Muhammed,

You may use get_current instead of get_first method.

lr_prod_value ?= lr_prod_node->collection_wrapper->get_first( ).

lr_prod_value ?= lr_prod_node->collection_wrapper->get_current( ).

Also make sure the fields of the structure ls_prod_prop conforms to the field names of the entity lr_prod_node.

Another way you can access the values is like this, reading each field individually.

lr_prod_value->get_property_as_string(

      EXPORTING  iv_attr_name = 'ERP_SEARCH_FLAG'   

      RECEIVING  rv_result    = lv_erp_search_flag

      EXCEPTIONS OTHERS       = 1 ).

Regards,

Leon

0 Kudos

Hi Muhammed,

How are you trying to pass the value from the popup back to your view handler? You should create a context node in the popup and use this for all the fields in the popup. Then on closing the popup, you should access this context node in your handler class and get the values.

Regards,

Leon