Code: Alles auswählen.
* Tabelle mit sy-ucomm füllen, der abgefangen werden soll.
DATA: gw_slis_event_exit TYPE slis_event_exit,
gt_slis_event_exit TYPE slis_t_event_exit.
gw_slis_event_exit-ucomm = '%_GC'. "Doppelklick auf Spalte
gw_slis_event_exit-after = 'X'.
APPEND gw_slis_event_exit TO gt_slis_event_exit.
* Feldkatalog aufbauen
PERFORM build_fieldcat.
* FuBa aufrufen
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_report
i_callback_user_command = 'I_USER_COMMAND' it_fieldcat = gt_fieldcat "Feldcatalog
it_event_exit = gt_slis_event_exit
TABLES
t_outtab = gt_tab
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Code: Alles auswählen.
* Diese Form wird beim Doppelklick aufgerufen
FORM i_user_command USING p_ucomm LIKE sy-ucomm
pw_selfield TYPE slis_selfield.
*Die Struktur Pw_SELFIELD enthält folgende Informationen:
*tabname : Name der internen Ausgabetabelle
*tabindex : Index der internen Ausgabetabelle
*fieldnae: Feldname
*endsum : Cursor steht auf der Endsummenzeile
*sumindex : wenn >0, befindet sich Cursor auf einer Zwischensummenzeile
*value : Wert des Feldes auf der Liste
*refresh : (Exporting) Liste soll neu aufgebaut werden
*col_stable:(Exporting) Beim Neuaufbau Spaltenpositionierung beibehalten
*row_stable:(Exporting) Beim Neuaufbau Zeilenpositionierung beibehalten
*exit :(Exporting) Liste (und damit ALV) verlassen
before_action: Ansprung vor Ausführung Standardaktion
*after_action : Ansprung nach Ausführung Standardaktion, vor Listaufbau
*ignore_multi : interne Verwendung
*sel_tab_field: interne Verwendung
ENDFORM. " i_user_command