abap 添加alv上的工具栏的按钮_ALV :汇总,分类汇总(小计),排序,过滤
时间: 2023-11-05 07:04:13 浏览: 204
工具栏按钮的添加、删除和分组
4星 · 用户满意度95%
在 ABAP 中,可以通过在 ALV 工具栏上添加按钮来增强 ALV 表的功能。下面是添加 ALV 工具栏按钮的步骤:
1. 创建一个新的 Function Module,例如 Z_ALV_TOOLBAR_BUTTONS。
2. 在 Function Module 中定义一个 TABLES 参数,用于传递 ALV 数据表。
3. 在 Function Module 中定义一个 EVENTS 参数,用于处理 ALV 工具栏按钮事件。
4. 在 Function Module 中使用 FUNCTION MODULE_NAME_ADD_TOOLBAR 添加工具栏按钮。
例如,要添加“汇总”按钮,可以使用以下代码:
```
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
it_fieldcat = lt_fieldcat
TABLES
t_outtab = lt_data
EXCEPTIONS
program_error = 1
OTHERS = 2.
FUNCTION Z_ALV_TOOLBAR_BUTTONS.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" TABLES
*" IT_TOOLBAR STRUCTURE ABAPLIST OPTIONAL
*" IT_EVENTS STRUCTURE ABAPLIST OPTIONAL
*" IT_LAYOUT STRUCTURE ABAPLIST OPTIONAL
*" IT_SORT STRUCTURE ABAPLIST OPTIONAL
*" IT_FILTER STRUCTURE ABAPLIST OPTIONAL
*" IT_TOTALS STRUCTURE ABAPLIST OPTIONAL
*" IT_GROUP STRUCTURE ABAPLIST OPTIONAL
*"----------------------------------------------------------------------
DATA: ls_toolbar TYPE stb_button,
lt_toolbar TYPE stb_buttonlist.
ls_toolbar-function = '&IC1'.
APPEND ls_toolbar TO lt_toolbar.
CALL FUNCTION 'REUSE_ALV_TOOLBAR_APPEND'
EXPORTING
i_list_type = 0
TABLES
t_toolbar = lt_toolbar.
ENDFUNCTION.
```
在上面的代码中,我们使用 REUSE_ALV_TOOLBAR_APPEND 函数添加一个名为“&IC1”的按钮,并将其添加到工具栏中。
类似地,您可以添加“分类汇总(小计)”,“排序”和“过滤”按钮,以实现相应的功能。
阅读全文