Insert the following code into the PBO of the screen after the ALVtree has been created.
i.e after 'CALL METHOD gd_tree->set_table_for_first_display' has been executed.
*&-------------------------------------------------------------* *& REGISTER_EVENTS *&-------------------------------------------------------------* * define the events which will be passed to the backend data: lt_events type cntl_simple_events, l_event type cntl_simple_event. * define the events which will be passed to the backend l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_item_double_click. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_header_click. append l_event to lt_events. l_event-eventid = cl_gui_column_tree=>eventid_item_keypress. append l_event to lt_events. call method gd_tree->set_registered_events exporting events = lt_events exceptions cntl_error = 1 cntl_system_error = 2 illegal_event_combination = 3. if sy-subrc <> 0. message x208(00) with 'ERROR'. "#EC NOTEXT endif. * set Handler data: l_event_receiver type ref to lcl_tree_event_receiver. create object l_event_receiver. set handler l_event_receiver->handle_node_ctmenu_request for gd_tree. set handler l_event_receiver->handle_node_ctmenu_selected for gd_tree. set handler l_event_receiver->handle_item_ctmenu_request for gd_tree. set handler l_event_receiver->handle_item_ctmenu_selected for gd_tree. set handler l_event_receiver->handle_item_double_click for gd_tree. set handler l_event_receiver->handle_header_click for gd_tree.