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