Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Set Handler for Protected Event

Hi All,

I have a requirement to use a protected event of a class.

To do so i declared an event handler class which inherits the main class. The event to be handled is a protected event of the main class. So i declared the method to handle the event in the protected section of the hander class ( which as mentioned before inherits the main class ).

When i go for set handler it says event is unknonwn / protected / private. Its true.

But how to set handler for protected events of main class in handler class which inherits the main class.

Please help.

I am attaching the code here with.

 
*&---------------------------------------------------------------------*
*&  Include           ZMM208_CLS                                       *
*&---------------------------------------------------------------------*


*----------------------------------------------------------------------*
*       CLASS lcl_event_receiver_maingrid DEFINITION
*----------------------------------------------------------------------*
*   Event Handler Class for Events of Main Grid ( CL_GUI_ALV_GRID )    *
*----------------------------------------------------------------------*
CLASS lcl_event_receiver_maingrid DEFINITION INHERITING FROM cl_gui_alv_grid.

  PUBLIC SECTION.

    METHODS
        handle_butn_click
             FOR EVENT button_click OF cl_gui_alv_grid
                IMPORTING es_row_no.
    METHODS
        handle_data_changed
           FOR EVENT data_changed OF cl_gui_alv_grid
              IMPORTING er_data_changed.
    METHODS
       lcl_event_receiver_maingrid .


*  PRIVATE SECTION.

  PROTECTED SECTION.
    METHODS
     handle_click
        FOR EVENT click_row_col OF cl_gui_alv_grid
            IMPORTING row_id.

ENDCLASS.                    "lcl_event_receiver_maingrid DEFINITION

DATA: event_recvr_maingrid TYPE REF TO lcl_event_receiver_maingrid.

*----------------------------------------------------------------------*
*       CLASS lcl_event_receiver_top_left IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver_maingrid IMPLEMENTATION.
  METHOD lcl_event_receiver_maingrid.
*    set HANDLER event_recvr_maingrid->click_row_col
*                                                FOR main_grid.
  ENDMETHOD.                    "lcl_event_receiver_maingrid
  METHOD handle_butn_click.
    PERFORM set_arrow USING es_row_no-row_id.
    PERFORM set_header.

  ENDMETHOD.                    "handle_butn_click

  METHOD handle_data_changed.
    PERFORM handle_data_changed USING er_data_changed.
    PERFORM set_arrow USING ls_mod_cell-row_id.
  ENDMETHOD.                    "handle_data_changed

* method handle_data_changed_finished.
* ENDMETHOD.

  METHOD handle_click.
    PERFORM set_arrow USING row_id.
  ENDMETHOD.                    "handle_click
ENDCLASS.                  "handle_btn_click

Message was edited by:

Narayanan K N

Tags:
Not what you were looking for? View more on this topic or Ask a question