加载中…
个人资料
乡巴佬
乡巴佬
  • 博客等级:
  • 博客积分:0
  • 博客访问:6,780
  • 关注人气:73
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

自定义ALV工具条

(2020-03-05 15:20:32)
标签:

sap

abap

分类: ABAP

默认输出的ALV已供了很多标准的按钮了:

自定义ALV工具条

自定义ALV工具条

自定义ALV工具栏有两种方式:第一处是自已创建一个GUI Status通常作法是从SLVC_FULLSCREEN函数组中的拷贝STANDARD_FULLSCREENGui Status,再在此基础之上新增按钮即可);第二种是调用系统已定义好的标准ALV工具栏;

系统已定义好的标准ALV GUI Status 在程序SAPLKKBL中,可以通过SET PF-STATUS … OF PROGRAM语句直接来调用,如:

SET PF-STATUS 'STANDARD_FULLSCREENOF PROGRAM 'SAPLKKBL'.

SAPLKKBL程序中定义的系统标准的ALV GUI Status有以下几种:

l  STDPOPBX_FULLSCREEN

l  STDPOPUP_FULLSCREEN

l  STANDARD_FULLSCREEN     SLVC_FULLSCREEN函数组中的STANDARD_FULLSCREEN是一样的,都是标准的(函数组SALV中的STANDARDstatus也是标准的)

l  STDPOPBX_FULLSCREEN

l  STDPOPUP_FULLSCREEN

l  STANDARD_FULLSCR_HR

l  STDPOPBX_FS_LIGHT

l  STDPOPUP_FS_LIGHT

l  STD_LIGHT_FULLSCREEN

这些工具条中的按钮都已经设置了Function Code,且都是保留字,这些Funcode都已经在ALV Guid控件中实现,不需得新分配Funcode功能代码,按钮默认功能码:

自定义ALV工具条

自定义ALV工具条

ALV中自定义工具栏需要通过REUSE_ALV_GRID_DISPLAY函数I_CALLBACK_PF_STATUS_SET参数,传递设置GUI StatusForm的名称,在此Form使用SET PF-STATUS语句来重新定义ALV工具栏,该Form接口如下:
FORM set_pf_status USING rt_extab TYPE slis_t_extab

rt_extab是要排除掉的按钮,根据Funcode来排除。另外,也可以通过REUSE_ALV_GRID_DISPLAY函数IT_EXCLUDING内表参数来直接排除哪些预置按钮不可用,IT_EXCLUDING内表结构只有一个fcode字段,即根据保留的FunCode即可disabled掉。

 

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    
EXPORTING
      i_callback_program 
sy-repid
      it_fieldcat        
fieldcat[]
     
 I_CALLBACK_PF_STATUS_SET 
'SET_PF_STATUS'
    TABLES
      t_outtab           
t_stock1.

FORM set_pf_status USING rt_extab TYPE slis_t_extab.
  "去激活Function code&ETA的详情按钮
 
APPEND '&ETA'  TO  rt_extab.
  
SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL' EXCLUDING
rt_extab.
ENDFORM 

如果没有重定义ALV工具栏,则会默认使用函数组SLVC_FULLSCREEN中定义的STANDARD_FULLSCREEN工具条

快速拷贝GUI Status

在自定义工具栏时,通常从标准GUI Status上拷贝出来,再新加按钮。

函数组 SLVC_FULLSCREEN中定义的STANDARD_FULLSCREEN GUI Status拷贝方式如下,通过 SE41可以快速拷贝:自定义ALV工具条


如果不是ALV,是Write输出时,拷贝:

image013[6]

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有