Skip to Content
Author's profile photo Ratna Rajesh .P

Calling a Search component created via the Rapid applicaitons from other components

As many of you know from the Enhancment Pack1 we started using rapid application extensively,So that all the components are created automatically but with some modifications.

Here i would like to explain some explicit programming to be done ,when calling the Rapid application from other component for example you want to call a searchcomponent (created via rapid application ) from another component as POP UP.

Point 1 ( These steps are common  as you call the other components as POPUP).

  • Creating the POP Up instance.

gr_popup =  ( me->comp_controller->window_manager->create_popup(
          iv_interface_view_name
= ‘Window name of your rapid ‘
          iv_usage_name         
= ‘Usage name’
          iv_title              
= ‘Enjoy’

  • Registering a close event

gr_popup->set_on_close_event( iv_view = me iv_event_name = ‘event Name).

  • Calling an open method of POP up instance.

gr_popup->open( ‘Inbound plug of window of your rapid application’ ).

Point 2 ( These are explicit modification you have do ).

  •     If you can see the html of the result view you can see that the global variable GV_OPTION_FRONTEND_SELECTION is set to ABAP_TRUE, it needs to be  set to ABAP_FALSE for the select even to be fired.

/wp-content/uploads/2013/11/1_334491.png

  •   Ideal place to make this is the DO_INIT_CONTEXT of the result view, redefine and make it false as below.

/wp-content/uploads/2013/11/ch_334492.png

  • After this you can see that the select event is fired.
  • Ideally it would be meaning full if we have a selection mode.

/wp-content/uploads/2013/11/3_334514.png

  • Here in the select event you can get the selected row and close the pop up.

/wp-content/uploads/2013/11/4_334515.png

Point 3 : From here it is again the same ,go the event handler you have registerd in the first point,

-> Read the context node

-> Get Current.

-> You can use this values for your purpose.

Hope it is usefull!!!.

Assigned Tags

      3 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Damandeep Thakur
      Damandeep Thakur

      Hi,

      I am looking into a similar usage of RAF based Search component as a Pop-up.

      Rest all is fine, but I noticed that Resultlist view component has one Context node for result data which is bound to 'RESULT' context node of custom controller. But this node is not further bound to any node of component controller.

      Component controller has two  nodes xxxx_HEADER, XXXX_ITEM which are auto generated.

      Now, when I use this component as a pop-up, and read its context in On-close event handler then there is no data in any of the nodes of component controller.

      How to get selected data from the view here? Since I if manually do component to custom Contr. node binfing, then RAF affect will be lost for any future changes in the Search component.

      Kindly suggest how did it work in your case.

      Regards,

      Author's profile photo Ratna Rajesh .P
      Ratna Rajesh .P
      Blog Post Author

      Hi Rajan,

      Please pass the selected node as a collection to outbound plug

      And read it in the Closing Event of the Calling Component -1

      Author's profile photo Damandeep Thakur
      Damandeep Thakur

      Hi Ratna,

      Generally, we expose data via interface controller's context nodes. So I would expect that since the framework have auto generated events for selection etc, it takes care of data binding and exposure this way. but this is not the case here. Any idea why?

      Above would actually make data cross-component data mapping much easier.

      BTW, what you mentioned is good.