2024年6月5日发(作者:)

ABAP 修改ALV 工具条--添加、移除按钮

以下针对于FM:REUSE_ALV_GRID_DISPLAY的ALV,以添加一个按钮为例,修改

OO ALV工具条的方式大致相同。

1、创建一个GUI status

首先在程序中创建一个工具条,一般是希望在标准工具条基础上进行修改,可以到函

数组SALV中copy标准GUI status到自己的程序下,假如copy过来名字改为0100.

根据需要,添加自定义按钮、相应ICON和功能码BUTTON1,也可删除某些按钮不

需要的按钮,保存激活。

2、在call function REUSE_ALV_GRID_DISPLAY时,传入参数

I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'

'SET_PF_STATUS'是一个Form的名字,可以任意写,然后在程序中添加

'SET_PF_STATUS'这个Form,这其实是PBO过程,代码很简单,如下

*&--------------------------------------------------------------------*

*& Form set_pf_status

*&--------------------------------------------------------------------*

* text

*---------------------------------------------------------------------*

FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS '0100' .

ENDFORM. "set_pf_status

其实如果在第一步,没有删除按钮,而又不想显示出来的话,还可以在这个form中

写代码滤掉,如下意思是不显示排序的两个按钮。

*&--------------------------------------------------------------------*

*& Form set_pf_status

*&--------------------------------------------------------------------*

* text

*---------------------------------------------------------------------*

FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.

DATA: BEGIN OF EX_TAB OCCURS 0,

FCODE LIKE SY-UCOMM,