Hello everyone, in this tutorial you will learn how to do totals and subtotals in ALV with IDA on HANA.
Prerequisites
- Learn about ABAP ALV with Integrated Data Access on HANA.
- You should learn how to set initial Sorting in ABAP ALV with IDA.
Totals and Sub-totals
To set totals and sub-totals, use the method SET_AGGREGATION( ) in IF_SALV_GUI_LAYOUT_IDA in ABAP ALV with IDA
Totals
Totals in ABAP ALV with IDA can be achieved by using the method SET_AGGREGATION( ). Using this method you can perform following aggregations
- Sum
- Maximum
- Minimum
- Average
ABAP Source code
START-OF-SELECTION.
*1.. Create object reference for ALV with IDA
*... based on CDS View
DATA(lo_alv_display) = cl_salv_gui_table_ida=>create_for_cds_view(
iv_cds_view_name = 'zcds_total_stock' ).
*2.. Create Aggregation rule
DATA: ls_aggr_rule TYPE if_salv_gui_types_ida=>ys_aggregation_rule,
lt_aggr_rules TYPE if_salv_gui_types_ida=>yt_aggregation_rule.
ls_aggr_rule-field_name = 'TOTAL_STOCK'.
ls_aggr_rule-function = if_salv_service_types=>cs_function_code-sum.
APPEND ls_aggr_rule TO lt_aggr_rules.
lo_alv_display->default_layout( )->set_aggregations( lt_aggr_rules ).
*3... Display ALV
lo_alv_display->fullscreen( )->display( ).
Output

Sub Totals
Sub Totals in ALV with IDA can be achieved by using both Sorting Rule and Aggregation Rule.
To define a subtotal on a particular column first you need to define sorting rule by using the SET_SORT_ORDER( ) and then apply aggregation rule by using method SET_AGGREGATION( ).
ABAP Source Code
*******************************************************
* www.saplearners.com *
* Totals & Subtotals in ABAP ALV with IDA *
********************************************************
START-OF-SELECTION.
*1.. Create object reference for ALV with IDA
*... based on CDS View
DATA(lo_alv_display) = cl_salv_gui_table_ida=>create_for_cds_view(
iv_cds_view_name = 'zcds_total_stock' ).
*2.. Create Aggregation
DATA: ls_aggr_rule TYPE if_salv_gui_types_ida=>ys_aggregation_rule,
lt_aggr_rules TYPE if_salv_gui_types_ida=>yt_aggregation_rule.
ls_aggr_rule-field_name = 'TOTAL_STOCK'.
ls_aggr_rule-function = if_salv_service_types=>cs_function_code-sum.
APPEND ls_aggr_rule TO lt_aggr_rules.
lo_alv_display->default_layout( )->set_aggregations( lt_aggr_rules ).
*3.. Set Sorting rule for Subtotals
DATA(lt_sort_rule) = VALUE if_salv_gui_types_ida=>yt_sort_rule(
( field_name = 'CATEGORY'
descending = abap_false
is_grouped = abap_true )
).
lo_alv_display->default_layout( )->set_sort_order(
it_sort_order = lt_sort_rule ).
*3... Display ALV
lo_alv_display->fullscreen( )->display( ).
Output

Congrats! You have successfully learned how to perform totals and subtotals in ALV with IDA on HANA.
Please stay tuned for ABAP ALV with IDA on HANA tutorials. Leave a comment in the below comment section and let us know your feedback.







