Tuesday, March 17, 2009

Subtotal and Grand Total Text

*---type pools
TYPE-POOLS: slis.
*---internal tables
DATA: BEGIN OF it_VBAK OCCURS 0,
VBELN LIKE VBAK-VBELN,
ERDAT LIKE VBAK-ERDAT,
NETWR LIKE VBAK-NETWR,
END OF it_VBAK,
*--internal tables for alv
it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fcat LIKE LINE OF it_fieldcat,
* layout TYPE slis_layout_alv,
gd_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_VBAK'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
*----get data
SELECT VBELN
ERDAT
NETWR
FROM VBAK
INTO CORRESPONDING FIELDS OF TABLE it_VBAK
UP TO 20 ROWS.
.
wa_fcat-do_sum = 'X'.
MODIFY it_fieldcat FROM wa_fcat TRANSPORTING do_sum
WHERE fieldname = 'NETWR' .
wa_sort-fieldname = 'ERDAT'.
wa_sort-group = 'UL'.
wa_sort-up = 'X'.
APPEND wa_sort TO it_sort.
wa_sort-fieldname = 'ERDAT'.
wa_sort-subtot = 'X'.
wa_sort-up = 'X'.
APPEND wa_sort TO it_sort.
*-----------------------
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
GD_LAYOUT-SUBTOTALS_TEXT = 'SubTotals'.
gd_layout-totals_text = 'Totals'.
*-----------------------
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = gd_layout
it_fieldcat = it_fieldcat
it_sort = it_sort
TABLES
t_outtab = it_VBAK
EXCEPTIONS
program_error = 1.

No comments:

Post a Comment