Display Subtotal and Total in ABAP ALV Grid

7
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.

description

Display Subtotal and Total in ABAP ALV Grid

Transcript of Display Subtotal and Total in ABAP ALV Grid

Page 1: 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'.

Page 2: Display Subtotal and Total in ABAP ALV Grid

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

Page 3: Display Subtotal and Total in ABAP ALV Grid

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*&---------------------------------------------------------------------*

Page 4: Display Subtotal and Total in ABAP ALV Grid

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.

Page 5: Display Subtotal and Total in ABAP ALV Grid

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

Page 6: Display Subtotal and Total in ABAP ALV Grid

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'.

Page 7: Display Subtotal and Total in ABAP ALV Grid

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