Code: Alles auswählen.
*-----------------------------------------------*
* CLASS lcl_event_receiver DEFINITION
*-----------------------------------------------*
* Definition der zu verwendenden Methoden
*-----------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
DATA: ucomm TYPE sy-ucomm.
* User-Command
METHODS handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm sender.
* Einfachklick auf "Hot-Spots"
METHODS handle_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id
es_row_no.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
***************************************************
DATA: event_receiver TYPE REF TO lcl_event_receiver.
***************************************************
*--------------------------------------------------*
* CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*--------------------------------------------------*
* Implementierung der definierten Methoden (was ist zu tun...)
*--------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
*---------------------------------------*
* User-Command
*---------------------------------------*
METHOD handle_user_command.
CASE e_ucomm.
WHEN 'XYZ'.
PERFORM from_xyz.
ENDCASE.
ENDMETHOD. "HANDLE_USER_COMMAND
*---------------------------------------*
* Einfachklick
*---------------------------------------*
METHOD handle_hotspot_click.
READ TABLE tabelle INTO wa_tabelle
INDEX es_row_no-row_id.
CASE e_column_id.
WHEN 'VBELN'.
SET PARAMETER ID 'AUN' FIELD wa_tabelle-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDMETHOD. "HANDLE_HOTSPOT_CLICK
ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION
Code: Alles auswählen.
* Events erstellen...
CREATE OBJECT event_receiver.
* ...und aktivieren bzw. zuordnen
SET HANDLER event_receiver->handle_user_command FOR dein_grid.
SET HANDLER event_receiver->handle_hotspot_click FOR dein_grid.