DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: I_EVENTS TYPE SLIS_T_EVENT.
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM.
PERFORM F_FORMATO_PAGE CHANGING GT_LIST_TOP_OF_PAGE.
PERFORM F_FORMATEAR_EVENTOS_ALV USING I_EVENTS[].
PERFORM F_GENERAR_LISTA_ALV.
FORM F_FORMATEAR_EVENTOS_ALV USING P_EVENTS TYPE SLIS_T_EVENT.
DATA: L_EVENTS TYPE SLIS_ALV_EVENT.
CLEAR L_EVENTS.
L_EVENTS-NAME = 'TOP_OF_PAGE'.
L_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND L_EVENTS TO P_EVENTS.
ENDFORM.
FORM F_FORMATO_PAGE CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: GS_LINE TYPE SLIS_LISTHEADER.
CLEAR GS_LINE.
GS_LINE-TYP = 'H'.
CONCATENATE SY-DATUM+6(2) '.' SY-DATUM+4(2) '.'
SY-DATUM+0(4) INTO FECHA_PROCESO.
*-----Fecha de Proceso
CONCATENATE 'Fecha de Proceso:' FECHA_PROCESO
INTO GS_LINE-INFO
SEPARATED BY SPACE.
APPEND GS_LINE TO GT_TOP_OF_PAGE.
ENDFORM.
FORM F_GENERAR_LISTA_ALV.
G_PROGRAM = SY-REPID.
G_TITULO = SY-TITLE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_PROGRAM
IS_LAYOUT = GS_LAYOUT
I_SAVE = 'A'
I_GRID_TITLE = G_TITULO
IT_FIELDCAT = I_FIELDCAT
IT_SORT = GS_SORT[]
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = T_SALIDA
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
ENDFORM.