01 功能说明
本系列将通过模拟用户与开发者之间的对话场景,来逐步演示SALV的使用。在本篇中,我们将继续上一篇内容,以解决用户提出的另外两个需求: 合计、小计。让我们来看看是如何实现的吧。
赶快动手试一试,掌握它的用法。
02 功能效果
第8天 用户说:合计
需要对距离进行合计。
IF p_day08 EQ 'X'.
DATA lo_aggregations TYPE REF TO cl_salv_aggregations.
lo_aggregations = go_salv->get_aggregations( ).
lo_aggregations->add_aggregation(
EXPORTING
columnname = 'DISTANCE'
aggregation = if_salv_c_aggregation=>total
).
...
第9天 用户说:小计
需要在合计基础上,进一步对航线进行小计。
DATA lo_sort TYPE REF TO cl_salv_sort.
"小计前需先进行排序
IF p_day06 EQ 'X'.
lo_sort = lo_sorts->get_sort( columnname = 'CARRID' ).
lo_sort->set_subtotal( 'X' ).
ELSE.
lo_sorts = go_salv->get_sorts( ).
lo_sorts->add_sort(
EXPORTING
columnname = 'CARRID'
sequence = if_salv_c_sort=>sort_down
subtotal = 'X'
).
ENDIF.
...
ENDIF.
03 源码分享
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1 .
SELECTION-SCREEN BEGIN OF LINE