DATA : gfl_fcat TYPE slis_fieldcat_alv.
DATA : git_fcat TYPE slis_t_fieldcat_alv.
DATA : gfl_layout TYPE slis_layout_alv,
git_events TYPE slis_t_event,
git_title TYPE slis_t_listheader,
gfl_events TYPE slis_alv_event,
gfl_title TYPE slis_listheader.
CONSTANTS : c_top_of_page TYPE slis_alv_event-name
VALUE 'TOP_OF_PAGE',
c_top_routine TYPE slis_alv_event-form
********************************************************************************
FORM set_events .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
* EXPORTING
* I_LIST_TYPE = 0
IMPORTING
et_events = git_events
EXCEPTIONS
list_type_wrong = 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.
SORT git_events BY name.
READ TABLE git_events
INTO gfl_events
WITH KEY name = c_top_of_page BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE c_top_routine TO gfl_events-form.
MODIFY git_events FROM gfl_events INDEX sy-tabix
TRANSPORTING form.
ENDIF.
CLEAR gfl_events.
ENDFORM. " SET_EVENTS
********************************************************************************
FORM alv_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_user_command = 'DOUBLE_CLICK'
is_layout = gfl_layout
it_fieldcat = git_fcat
i_save = 'A'
it_events = git_events
TABLES
t_outtab = git_final
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.
ENDFORM. " ALV_DISPLAY
********************************************************************************
FORM print_title. "#EC CALLED
CLEAR: gfl_title,
git_title.
*----Set the title contents
gfl_title-typ = 'H'.
gfl_title-info = 'Croda Chemicals Limited'.
APPEND gfl_title TO git_title.
CLEAR gfl_title.
gfl_title-typ = 'H'. " Header
gfl_title-info = 'Retail Invoice - Work Sheet '.
APPEND gfl_title TO git_title.
CLEAR gfl_title.
gfl_title-typ = 'S'. " Date
gfl_title-key = 'Date :'.
WRITE sy-datum TO gfl_title-info.
APPEND gfl_title TO git_title.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = git_title.
* I_LOGO =
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
ENDFORM. "print_title
*----------------------------------------------------------------------*
********************************************************************************
FORM double_click USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield."#EC CALLED #EC NEEDED
IF rs_selfield-fieldname = 'INVNO' AND
rs_selfield-tabindex NE 0.
SET PARAMETER ID 'VF' FIELD rs_selfield-value.
CALL TRANSACTION 'VF02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM. "DOUBLE_CLICK