下面介绍如何在在表维护视图(maintenance view)的工具栏上添加自定义按钮,如下红框内的眼睛按钮。
<img class="alignnone size-full wp-image-3435" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42km6SPaf690.jpg" alt="003wFBDZgy6W42km6SPaf&690" width="397" height="163" />
步骤如下:
1, 创建表维护视图
SE11,输入自定义表名 ZLM_TEST_MT,通过菜单进入table maintenance generator或者直接SE54进入
<img class="alignnone size-full wp-image-3433" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kpOkX13690.jpg" alt="003wFBDZgy6W42kpOkX13&690" width="690" height="421" />
如下输入相关信息,
<img class="alignnone size-full wp-image-3438" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42pNPGZfd690.jpg" alt="003wFBDZgy6W42pNPGZfd&690" width="598" height="487" />
2, 创建表维护视图事件
菜单 environment->modification->events,进入事件创建屏幕。
<img class="alignnone size-full wp-image-3440" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kx9Tm84690.jpg" alt="003wFBDZgy6W42kx9Tm84&690" width="686" height="311" />
选择表维护视图事件(maintenance view event)ST,GUI menu main program name,然后输入form routine的名字,
一定要是 'SAPL + function group名字‘。点击Editor按钮创建routine。
<img class="alignnone size-full wp-image-3441" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kAPee1e690.jpg" alt="003wFBDZgy6W42kAPee1e&690" width="690" height="305" />
如果form routine的名字不符合规则,则会有下面的错误消息。
<img class="alignnone size-full wp-image-3442" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kDcyy56690.jpg" alt="003wFBDZgy6W42kDcyy56&690" width="510" height="54" />
3, 创建GUI status
还要搞清楚SM30的GUI status。通过SM30界面的菜单上如下,
<img class="alignnone size-full wp-image-3443" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kJVzQ2a690.jpg" alt="003wFBDZgy6W42kJVzQ2a&690" width="631" height="346" />
找到GUI status EULG
<img class="alignnone size-full wp-image-3444" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kNbJd97690.jpg" alt="003wFBDZgy6W42kNbJd97&690" width="413" height="165" />
然后copy EULG,创建一个新的GUI status,
<img class="alignnone size-full wp-image-3445" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kQSSf5b690.jpg" alt="003wFBDZgy6W42kQSSf5b&690" width="620" height="420" />
copy到刚才创建的那个form routine 'SAPLZLM_FG_TEST_MT'上。
<img class="alignnone size-full wp-image-3446" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kTKwpd9690.jpg" alt="003wFBDZgy6W42kTKwpd9&690" width="369" height="118" />
函数组SVIM中能查看到gui status EULG。
<img class="alignnone size-full wp-image-3447" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42kXHdC20690.jpg" alt="003wFBDZgy6W42kXHdC20&690" width="642" height="411" />
copy完成之后,点击change按钮,在gui status上添加一个自定义按钮POP,
<img class="alignnone size-full wp-image-3448" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42l2UGy2e690-1.jpg" alt="003wFBDZgy6W42l2UGy2e&690 (1)" width="620" height="420" />
<img class="alignnone size-full wp-image-3449" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42l6gJb11690.jpg" alt="003wFBDZgy6W42l6gJb11&690" width="690" height="181" />
然后保存激活。
4, 修改表维护视图的屏幕
通过下面菜单路径,或者直接双击 9001屏幕号,在9001的流逻辑中编写代码,
<img class="alignnone size-full wp-image-3451" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42lbG1Ac2690.jpg" alt="003wFBDZgy6W42lbG1Ac2&690" width="690" height="427" />
代码如下:添加一个module mod_set_status
MODULE MOD_SET_STATUS INPUT.
DATA COUNT_ER TYPE I.
CASE FUNCTION .
WHEN ' POP ' .
CALL FUNCTION ' POPUP_TO_INFORM '
EXPORTING
TITEL = ' Information '
TXT1 = ' HELLOOOOOOOOOO............ '
TXT2 = COUNT_ER.
ENDCASE .
ENDMODULE .
5, SM30测试
点击自定义按钮,
<img class="alignnone size-full wp-image-3454" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42km6SPaf690-1.jpg" alt="003wFBDZgy6W42km6SPaf&690" width="397" height="163" />
弹出 hellooooooooo.....窗口
<img class="alignnone size-full wp-image-3455" src="http://www.baidusap.com/wp-content/uploads/003wFBDZgy6W42C0KnA8e690.jpg" alt="003wFBDZgy6W42C0KnA8e&690" width="650" height="221" />
以上。