之前的两篇都是直接修改的table control。我自己更习惯这样操作。
下面讲下event的使用。
SAP是给用户预留了标准的增强方式的,就是event。
还拿之前的那个view为例
进入表维护后
想在这个位置加个按钮。
进入表维护视图对应的function group
这里是没有status的,也不建议这里自建一个status,然后修改table control。
下面考虑使用event 来实现。
切换到表维护
找到event
新建,选ST
然后填写form routine。
这里特别注意下,routine name必须是 SAPL function group name,其实就是你的表维护function group的主程序。
你填写别的也会报错提醒你:
这个时候sm30进去看看维护视图用的哪个statu
使用的是EULG。
然后点:
这里填写 SAPLSVIM。有兴趣的自己去看看这个程序,也就是SVIM函数组。
copy完点chagne
添加一个新按钮 test
然后进表维护视图的屏幕,可以直接双击屏幕号,也可以这么选择。
自己建一个PAI module
代码随便写点儿得了
MODULE MDL_COMMAND INPUT.
CASE FUNCTION.
WHEN 'TEST'.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TEXT_QUESTION = '是否关注了SAP干货铺'.
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDCASE.
ENDMODULE.
效果: