Class ALV - Subtotal Text
CLASS lcl_event_handler DEFINITION DEFERRED.
DATA: dg_events_receiver TYPE REF
TO lcl_event_handler. "event receiver
*---------------------------------------------------------------------*
* CLASS lcl_event_handler DEFINITION
*---------------------------------------------------------------------*
* For Event handling *
*---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
subtotal_text FOR EVENT subtotal_text
OF cl_gui_alv_grid
IMPORTING es_subtottxt_info
ep_subtot_line
e_event_data.
ENDCLASS. "VERIFY_EVENT_HANDLER DEFINITION
*---------------------------------------------------------------------*
* CLASS lcl_event_handler IMPLEMENTATION
*---------------------------------------------------------------------*
* Implementation of event handler method *
*---------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.
METHOD subtotal_text.
PERFORM d0100_event_subtotal_text USING es_subtottxt_info
ep_subtot_line
e_event_data.
ENDMETHOD. "subtotal_text
ENDCLASS. "lcl_event_handler IMPLEMENTATION
*--set event handler
PERFORM set_event_handler.
CALL METHOD dg_grid->set_table_for_first_display
EXPORTING
is_layout = ds_layout
CHANGING
it_outtab = <fs_f>
it_fieldcatalog = dt_alv_cat
it_sort = dt_sort
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc 0.
MESSAGE i000 WITH
'Error in calling SET_TABLE_FOR_FIRST_DISPLAY'(026).
ENDIF.
*&---------------------------------------------------------------------*
*& Form set_event_handler
*&---------------------------------------------------------------------*
* event handler
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM set_event_handler .
CREATE OBJECT dg_events_receiver.
SET HANDLER dg_events_receiver->subtotal_text
FOR dg_grid.
ENDFORM. " set_event_handler
*&---------------------------------------------------------------------*
*& Form d0100_event_subtotal_text
*&---------------------------------------------------------------------*
* To handle subtotal text event
*----------------------------------------------------------------------*
* -->P_ES_SUBTOTTXT_INFO text
* -->P_EP_SUBTOT_LINE text
* -->P_E_EVENT_DATA text
*----------------------------------------------------------------------*
FORM d0100_event_subtotal_text USING
p_es_subtottxt_info TYPE lvc_s_stxt
p_ep_subtot_line TYPE REF TO data
p_e_event_data TYPE REF TO cl_alv_event_data .
FIELD-SYMBOLS: <fs> TYPE ANY.
ASSIGN p_e_event_data->m_data->* TO <fs>.
<fs> = 'TOTAL'(027).
ENDFORM. " d0100_event_subtotal_text
출처: http://forums.sdn.sap.com/thread.jspa?threadID=266993