Default Sorting, Total and Subtotal
Interface IF_SALV_GUI_LAYOUT_IDA can be used to apply default sorting & performing aggregation function such as SUM, MAX, MIN etc.
Code:
DATA: lr_salv TYPE REF TO if_salv_gui_table_ida,
lr_layout TYPE REF TO if_salv_gui_layout_ida,
lt_sort TYPE if_salv_gui_types_ida=>yt_sort_rule,
lt_aggr TYPE if_salv_gui_types_ida=>yt_aggregation_rule.
cl_salv_gui_table_ida=>create(
EXPORTING
iv_table_name = ‘SFLIGHT’
RECEIVING
ro_alv_gui_table_ida = lr_salv ).
* Get the layout reference
lr_layout = lr_salv->default_layout( ).
* Set descending sort
APPEND INITIAL LINE TO lt_sort ASSIGNING FIELD–SYMBOL(<fs_sort>).
<fs_sort>–field_name = ‘CARRID’.
<fs_sort>–descending = abap_true.
lr_layout->set_sort_order( it_sort_order = lt_sort ).
* Set aggregation SUM
APPEND INITIAL LINE TO lt_aggr ASSIGNING FIELD–SYMBOL(<fs_aggr>).
<fs_aggr>–field_name = ‘SEATSOCC’.
<fs_aggr>–function = ‘SUM’.
lr_layout->set_aggregations( it_aggregations = lt_aggr ).
* Display ALV
lr_salv->fullscreen( )->display( ).
Outut:
Code- Total & Subtotal
DATA: lr_salv TYPE REF TO if_salv_gui_table_ida,
lr_layout TYPE REF TO if_salv_gui_layout_ida,
lt_sort TYPE if_salv_gui_types_ida=>yt_sort_rule,
lt_aggr TYPE if_salv_gui_types_ida=>yt_aggregation_rule.
cl_salv_gui_table_ida=>create(
EXPORTING
iv_table_name = ‘SFLIGHT’
RECEIVING
ro_alv_gui_table_ida = lr_salv ).
* Get the layout reference
lr_layout = lr_salv->default_layout( ).
* Set descending sort
APPEND INITIAL LINE TO lt_sort ASSIGNING FIELD–SYMBOL(<fs_sort>).
<fs_sort>–field_name = ‘CARRID’.
<fs_sort>–descending = abap_false.
<fs_sort>–is_grouped = abap_true.
lr_layout->set_sort_order( it_sort_order = lt_sort ).
* Set aggregation SUM
APPEND INITIAL LINE TO lt_aggr ASSIGNING FIELD–SYMBOL(<fs_aggr>).
<fs_aggr>–field_name = ‘SEATSOCC’.
<fs_aggr>–function = ‘SUM’.
lr_layout->set_aggregations( it_aggregations = lt_aggr ).
* Display ALV
lr_salv->fullscreen( )->display( ).
Output with total and subtotal based on CARRID group.
Oh, thank you so much! It was very simple 🙂
cartier bangle size 19 imitation [url=http://www.bestcalovebracelet.cn/en/]cartier bangle size 19 imitation[/url]
LikeLike