You are on page 1of 2

REPORT zteste18 .

*---------------------------------------------------------------------*
*
CLASS alv_event DEFINITION
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
CLASS alv_event DEFINITION.
PUBLIC SECTION.
METHODS: on_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
es_row_no
e_column.

ENDCLASS.

*---------------------------------------------------------------------*
*
CLASS alv_event IMPLEMENTATION
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
CLASS alv_event IMPLEMENTATION.

METHOD: on_click.
PERFORM trata_evento_alv USING es_row_no.
ENDMETHOD.

ENDCLASS.
*----------------------------------------------------------------------*
TYPE-POOLS: slis.

" SLIS contains all the ALV data types

*&---------------------------------------------------------------------*
*& Types estructure Declaration
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ls_001,
campo1 TYPE c,
campo2 TYPE c,
campo3 TYPE c,
END OF ls_001.
*&---------------------------------------------------------------------*
*& Data Declaration
*&---------------------------------------------------------------------*
DATA: itab
TYPE TABLE OF ls_001.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
DATA: wa_itab TYPE ls_001.
DATA: event TYPE REF TO alv_event.
*&---------------------------------------------------------------------*

*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
CREATE OBJECT event.
SET HANDLER event->on_click FOR ALL INSTANCES.
wa_itab-campo1
wa_itab-campo2
wa_itab-campo3
APPEND wa_itab

= 'X'.
= 'X'.
= 'X'.
TO itab.

wa_itab-campo1
wa_itab-campo2
wa_itab-campo3
APPEND wa_itab

= 'X'.
= ' '.
= 'X'.
TO itab.

wa_itab-campo1
wa_itab-campo2
wa_itab-campo3
APPEND wa_itab

= ' '.
= 'X'.
= 'X'.
TO itab.

*Build field catalog


wa_fieldcat-fieldname = 'CAMPO1'. " Fieldname in the data table
wa_fieldcat-tabname
= 'ITAB'.
wa_fieldcat-seltext_m = 'CAMPO 1'. " Column description in the output
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'CAMPO2'. " Fieldname in the data table
wa_fieldcat-tabname
= 'ITAB'.
wa_fieldcat-seltext_m = 'CAMPO 2'. " Column description in the output
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'CAMPO2'. " Fieldname in the data table
wa_fieldcat-tabname
= 'ITAB'.
wa_fieldcat-seltext_m = 'CAMPO 3'. " Column description in the output
APPEND wa_fieldcat TO it_fieldcat.

*Pass data and field catalog to ALV function module to display ALV list
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat
= it_fieldcat
TABLES
t_outtab
= itab
EXCEPTIONS
program_error = 1
OTHERS
= 2.
*&---------------------------------------------------------------------*
*&
Form trata_evento_alv
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_ES_ROW_NO text
*----------------------------------------------------------------------*
FORM trata_evento_alv USING
p_es_row_no.
BREAK-POINT.
ENDFORM.

" trata_evento_alv

You might also like