自定义ALV工具条

标签:
sapabap |
分类: ABAP |
默认输出的ALV已供了很多标准的按钮了:
自定义ALV工具栏有两种方式:第一处是自已创建一个GUI Status(通常作法是从SLVC_FULLSCREEN函数组中的拷贝STANDARD_FULLSCREENGui Status,再在此基础之上新增按钮即可);第二种是调用系统已定义好的标准ALV工具栏;
系统已定义好的标准ALV GUI
Status
SET
PF-STATUS
SAPLKKBL程序中定义的系统标准的ALV GUI Status有以下几种:
l
l
l
l
l
l
l
l
这些工具条中的按钮都已经设置了Function Code,且都是保留字,这些Funcode都已经在ALV Guid控件中实现,不需得新分配Funcode功能代码,按钮默认功能码:
ALV中自定义工具栏需要通过REUSE_ALV_GRID_DISPLAY函数的I_CALLBACK_PF_STATUS_SET参数,传递设置GUI
Status的Form的名称,在此Form使用SET
PF-STATUS语句来重新定义ALV工具栏,该Form接口如下:
FORM
rt_extab是要排除掉的按钮,根据Funcode来排除。另外,也可以通过REUSE_ALV_GRID_DISPLAY函数IT_EXCLUDING内表参数来直接排除哪些预置按钮不可用,IT_EXCLUDING内表结构只有一个fcode字段,即根据保留的FunCode即可disabled掉。
FORM
rt_extab.
ENDFORM.
如果没有重定义ALV工具栏,则会默认使用函数组SLVC_FULLSCREEN中定义的STANDARD_FULLSCREEN工具条
快速拷贝GUI Status
在自定义工具栏时,通常从标准GUI Status上拷贝出来,再新加按钮。
函数组
如果不是ALV,是Write输出时,拷贝: