mira este ejemo anda perfecto
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = 'X'
i_callback_program = g_repit
it_fieldcat = LISTADO[]
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = s_layout
i_save = 'A'
it_events = events[]
i_callback_user_command = 'USER_COMMAND'
TABLES
* t_outtab = mi_tabla_det_1
t_outtab = mdato
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.
---------------------------------------------
FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM
L_SELFIELD TYPE SLIS_SELFIELD.
COMMIT WORK.
CASE L_UCOMM.
WHEN '&IC1'. " Doble click
CHECK NOT L_SELFIELD-value IS INITIAL.
READ TABLE mdato INDEX L_SELFIELD-tabindex.
CASE L_SELFIELD-FIELDNAME.
WHEN 'LIFNR'.
SET PARAMETER ID 'LIF' FIELD L_SELFIELD-value.
SET PARAMETER ID 'BUK' FIELD mdato-BUKRS.
CALL TRANSACTION 'XK03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDCASE.
l_SELFIELD-REFRESH = 'X'.
endform.
------------------------------------------------
|