Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

SAP ABAP ALV – ABAP List Viewer

Solución Ejercicio – Eventos en el ALV List

SOLUCIÓN EJERCICIO
Eventos en ALV List
SAP ABAP ALV – ABAP List Viewer

1
SAP ABAP ALV – ABAP List Viewer
Solución Ejercicio – Eventos en el ALV List

1. Programa principal.

REPORT z_alv_mf_logali.

INCLUDE: z_alv_mf_logali_top,
z_alv_mf_logali_sel,
z_alv_mf_logali_f01.

START-OF-SELECTION.

PERFORM get_data.

PERFORM build_field_cat.

PERFORM build_layout.

PERFORM add_events.

CASE abap_true.

WHEN p_list.
PERFORM display_alv_list.
WHEN p_grid.
PERFORM display_alv_grid.
WHEN p_hier.

ENDCASE.

2. Include TOP.

TYPE-POOLS slis.

TYPES: BEGIN OF gty_flights,


carrid TYPE s_carr_id,
connid TYPE s_conn_id,
price TYPE s_price,
currency TYPE s_currcode,
seatsmax TYPE s_seatsmax,
seatsocc TYPE s_seatsocc,
END OF gty_flights.

DATA: gt_flights TYPE TABLE OF gty_flights,


gt_fieldcat TYPE slis_t_fieldcat_alv.

2
SAP ABAP ALV – ABAP List Viewer
Solución Ejercicio – Eventos en el ALV List

DATA: gs_layout TYPE slis_layout_alv,


gt_events TYPE slis_t_event.

3. Include ADD_EVENTS.

FORM add_events.

DATA ls_events TYPE slis_alv_event.

ls_events-name = 'TOP_OF_PAGE'.
ls_events-form = 'TOP_OF_PAGE'.
APPEND ls_events TO gt_events.

ENDFORM.

4. Subrutina DISPLAY_ALV_LIST.

FORM display_alv_list .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
it_fieldcat = gt_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = gt_events
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0

3
SAP ABAP ALV – ABAP List Viewer
Solución Ejercicio – Eventos en el ALV List

* IR_SALV_LIST_ADAPTER =
* IT_EXCEPT_QINFO =
* I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_flights
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
WRITE 'Exception error'.
ENDIF.

ENDFORM.

5. Subrutina TOP_OF_PAGE.

FORM top_of_page.

DATA lv_total_lines TYPE i.

DESCRIBE TABLE gt_flights LINES lv_total_lines.

WRITE: / 'Hour:', sy-uzeit ENVIRONMENT TIME FORMAT,


/ 'Total number of records:', lv_total_lines.

ENDFORM.

6. Resultados.

You might also like