之前的两篇都是直接修改的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.
效果:
 

  
 
 










