Display Subtotal and Total in ABAP ALV Grid

Post on 07-Jul-2016

117 views 3 download

description

Display Subtotal and Total in ABAP ALV Grid

Transcript of Display Subtotal and Total in ABAP ALV Grid

Display Subtotal and Total in ABAP ALV Grid

1. Build field catalog and set the field DO_SUM of field catalog to ‘X’ for the field for which you want calculate the totals.

2. Pass field catalog to function module ‘REUSE_ALV_GRID_DISPLAY’.

TYPE-POOLS: slis. " SLIS contains all the ALV data types

*&---------------------------------------------------------------------**& Data Declaration*&---------------------------------------------------------------------*DATA: it_sbook TYPE TABLE OF sbook.DATA: it_fieldcat TYPE slis_t_fieldcat_alv, wa_fieldcat TYPE slis_fieldcat_alv.*&---------------------------------------------------------------------**& START-OF-SELECTION*&---------------------------------------------------------------------*START-OF-SELECTION.

*Fetch data from the database SELECT * FROM sbook INTO TABLE it_sbook.

*Build field catalog wa_fieldcat-fieldname = 'CARRID'. " Fieldname in the data table wa_fieldcat-seltext_m = 'Airline'. " Column description in the output APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'CONNID'. wa_fieldcat-seltext_m = 'Con. No.'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'FLDATE'. wa_fieldcat-seltext_m = 'Date'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'BOOKID'. wa_fieldcat-seltext_m = 'Book. ID'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'PASSNAME'. wa_fieldcat-seltext_m = 'Passenger Name'.

APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'LOCCURAM'. wa_fieldcat-seltext_m = 'Price'.*Calculate Total for Price wa_fieldcat-do_sum = 'X'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'LOCCURKEY'. wa_fieldcat-seltext_m = 'Currency'. APPEND wa_fieldcat TO it_fieldcat.

*Pass data and field catalog to ALV function module to display ALV list CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING it_fieldcat = it_fieldcat TABLES t_outtab = it_sbook EXCEPTIONS program_error = 1 OTHERS = 2.Output

Subtotal in ABAP ALVTo calculate subtotal in ALV, build sort catalog and set the field SUBTOT of sort catalog to ‘X’.

TYPE-POOLS: slis. " SLIS contains all the ALV data types

*&---------------------------------------------------------------------**& Data Declaration*&---------------------------------------------------------------------*

DATA: it_sbook TYPE TABLE OF sbook.DATA: it_fieldcat TYPE slis_t_fieldcat_alv, wa_fieldcat TYPE slis_fieldcat_alv, it_sort TYPE slis_t_sortinfo_alv, wa_sort TYPE slis_sortinfo_alv..*&---------------------------------------------------------------------**& START-OF-SELECTION*&---------------------------------------------------------------------*START-OF-SELECTION.

*Fetch data from the database SELECT * FROM sbook INTO TABLE it_sbook.

*Build field catalog wa_fieldcat-fieldname = 'CARRID'. " Fieldname in the data table wa_fieldcat-seltext_m = 'Airline'. " Column description in the output APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'CONNID'. wa_fieldcat-seltext_m = 'Con. No.'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'FLDATE'. wa_fieldcat-seltext_m = 'Date'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'BOOKID'. wa_fieldcat-seltext_m = 'Book. ID'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'PASSNAME'. wa_fieldcat-seltext_m = 'Passenger Name'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'LOCCURAM'. wa_fieldcat-seltext_m = 'Price'. wa_fieldcat-do_sum = 'X'. APPEND wa_fieldcat TO it_fieldcat.

wa_fieldcat-fieldname = 'LOCCURKEY'. wa_fieldcat-seltext_m = 'Currency'. APPEND wa_fieldcat TO it_fieldcat.*Build sort catalog wa_sort-spos = 1.

wa_sort-fieldname = 'CARRID'. wa_sort-up = 'X'. wa_sort-subtot = 'X'. APPEND wa_sort TO it_sort.

*Pass data and field catalog to ALV function module to display ALV list CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING it_fieldcat = it_fieldcat it_sort = it_sort TABLES t_outtab = it_sbook EXCEPTIONS program_error = 1 OTHERS = 2.

Output

If you want to calculate subtotals for more fields, just add a record in sort field catalog for each field.

*Build sort catalog wa_sort-spos = 1. wa_sort-fieldname = 'CARRID'. wa_sort-up = 'X'.

wa_sort-subtot = 'X'. APPEND wa_sort TO it_sort.

wa_sort-spos = 2. wa_sort-fieldname = 'CONNID'. wa_sort-up = 'X'. wa_sort-subtot = 'X'. APPEND wa_sort TO it_sort.

Output