遇到某需求,要求维护sm30的视图时,能加上排序按钮。
【转自http://blog.csdn.net/tsj19881202/article/details/7517232】
1. se11 点击修改,进入对应的表,然后点击“表格维护生成器”
2.进入后,点击 环境-修改-用户界面
3 点控制信息,创建控制信息。
4. 此时对应的程序应当为你的表名。
5. se80 去打开程序,发现跟正常程序一样有“gui状态”,和“gui标题”
6.点开gui状态会发现有很多状态,这时候应该用哪一个呢?
打开sm30到你要修改的那个表的界面,点击 系统-状态,此时你能发现对应的gui状态,记下来,然后就可以去程序里找到,然后添加按钮,激活就可以使用了。
7. 添加按钮后,如何使用这个按钮呢?
我是这么做的,经过debug发现,程序调用了标准程序,我只是在屏幕的PAI事件中,增加了一个module。
正常屏幕0001 是这样的
8. 在程序最下方加上一个MODULE ,我添加的是 MODULE LISTE_AFTER_SORT.
把程序添加在“SAPL****” 中,这个程序是对应的维护表程序,其中*号为你的表名。
打开“SAPLZTB_FIT021”,可以看到有很多incluede,不管他,找到我们的module。写代码
module LISTE_AFTER_SORT input.
if function = 'SORT'.
sort EXTRACT.
endif.
endmodule.
此处,发现,sm30视图中的操作内表是 EXTRACT。
所以你要操作的就是这张内表,function 对应的是你设置的按钮名字。
保存,激活。