By Venkateswara Rao Appikonda, Intelligroup
REPORT ztest_alv.
*---type pools TYPE-POOLS: slis.
*---internal tables DATA: BEGIN OF it_flight OCCURS 0, carrid LIKE sflight-carrid, connid LIKE sflight-connid, fldate LIKE sflight-fldate, seatsmax LIKE sflight-seatsmax, seatsocc LIKE sflight-seatsocc, END OF it_flight,
*--internal tables for alv it_fieldcat TYPE slis_t_fieldcat_alv, wa_fcat LIKE LINE OF it_fieldcat, layout TYPE slis_layout_alv, it_sort type slis_t_sortinfo_alv, wa_sort like line of it_sort.
*---start-of-selection .
START-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = sy-repid i_internal_tabname = 'IT_FLIGHT' i_inclname = sy-repid CHANGING ct_fieldcat = it_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error = 2.
*----get data SELECT carrid connid fldate seatsmax seatsocc FROM sflight INTO CORRESPONDING FIELDS OF TABLE it_flight UP TO 20 ROWS. . wa_fcat-do_sum = 'X'. MODIFY it_fieldcat FROM wa_fcat TRANSPORTING do_sum WHERE fieldname = 'SEATSOCC' .
wa_sort-fieldname = 'CARRID'. wa_sort-group = 'UL'. wa_sort-up = 'X'. APPEND wa_sort TO it_sort.
wa_sort-fieldname = 'CONNID'. wa_sort-subtot = 'X'. wa_sort-up = 'X'. APPEND wa_sort TO it_sort.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' EXPORTING i_callback_program = sy-repid is_layout = layout it_fieldcat = it_fieldcat it_sort = it_sort TABLES t_outtab = it_flight EXCEPTIONS program_error = 1.
The output would be similar to this:
![](http://www.saptechnical.com/Tutorials/ALV/Subtotals/line.h1.jpg)