DATA: itab TYPE TABLE OF sy-ucomm. 
APPEND 'DELE' TO itab. 
APPEND 'PICK' TO itab. 
SET PF-STATUS 'STA3' EXCLUDING itab.

就是把screen status设置成standard, 并排除rt_extab里面的functon code的按钮。

DATA: BEGIN OF ex_tab OCCURS 0,
fcode LIKE sy-ucomm,
END OF ex_tab.
ex_tab-fcode = 'DISP'. APPEND ex_tab.
ex_tab-fcode = 'DELE'. APPEND ex_tab.
ex_tab-fcode = 'SAVE'. APPEND ex_tab.
SET PF-STATUS 'MENU100' EXCLUDING ex_tab.
很灵活,再增加一点代码可以根据用户权限、当前t-code等各种条件动态设置工具栏

方法很多,不知道要哪种.
(1). 用TCODE:se41,se80,se90(Programming Library-->Programming SubObjects--> Gui Status.)等都可以,拷贝一个标准的GUI status( 拷贝程序SAPLKKBL中的'STANDARD' GUI status)到你的程序.
然后写PBO写代码:
DATA: I_QMEL LIKE MAKT OCCURS 0.
DATA V_REPID TYPE REPID.
SELECT * FROM MAKT INTO TABLE I_QMEL.
V_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_STRUCTURE_NAME = 'MAKT'
TABLES
T_OUTTAB = I_QMEL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
然后可以通过修改gui_status删除按扭或着增加按扭

在 'REUSE_ALV_GRID_DISPLAY' 中有
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
。这里的I_CALLBACK_PF_STATUS_SET 是否是类似语句:SET PF_STATUS ‘STATUS1’ ?
如果是的话,那么自己创建一个用户STATUS1,不就可以替代那个标准的状态栏了吗?

(2).通过代码写,要自己建类和方法.可以通过示例代码学习.BCALV_GRID_08.
然后要在pbo里调用下再激活下gui_status就可以了.

最新文章

  1. 高效的SQLSERVER分页查询的几种示例分析
  2. Mina、Netty、Twisted一起学(十):线程模型
  3. JS中call和apply
  4. 湘潭1247 Pair-Pair(树状数组)
  5. (Python) 函数、匿名函数
  6. WinForm中动态添加控件 出现事件混乱,解决办法记录。
  7. yaffs2物理存储
  8. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
  9. Linux系统(一)文件系统、压缩、打包操作总结
  10. 【数论】洛谷P1414又是毕业季II
  11. centos7网络配置总结
  12. 使用ArcMap做一个1:5000标准分幅图并编号
  13. PLL详解
  14. git版本冲突解决
  15. MySQL复制相关参数详解
  16. WireShark Flow capture analysis
  17. JDK5的新特性之可变参数&Arrays.asList()方法
  18. k8s 官方 配置文件使用教程
  19. python自学第10天,生成器
  20. vue框架简介

热门文章

  1. 【Unity】脚本选择打勾的勾选框隐藏
  2. python 赋值 深浅拷贝
  3. DBCC MEMORYSTATUS
  4. PHP SPL库
  5. python 奇技淫巧
  6. mysql 主从切换
  7. CNN 防止过拟合的方法
  8. PATHINFO模式是thinkphp特有的吗?
  9. CentOs上搭建nginx
  10. FILE 创建