二维码

[ooalv] SAP ALV自动刷新

sunfeng09发表于 2015-05-27 17:58songxin2000 最后回复于 2015-05-28 22:07 [复制链接] 5320 1

通常我们需要对ALV的数据进行自动的刷新,来获取实时的数据,比如接口传来的数据,这时候后我们需要用到一个SAP为我们封装好的类,cl_gui_timer。

首先我们要声明
data:      timer    TYPE REF TO cl_gui_timer.
然后创建对象
  CREATE OBJECT timer.
指定调用的时间
  timer->interval = p_time.
但是值得注意的是,我们刷新后要重置下ok_code,需要使用触发事件来处理,在这里触发的是finished这个event

详细代码如下
  1. *----------------------------------------------------------------------*
  2. * CLASS lcl_receiver DEFINITION
  3. *----------------------------------------------------------------------*
  4. *
  5. *----------------------------------------------------------------------*
  6. CLASS lcl_receiver DEFINITION.
  7.   PUBLIC SECTION.
  8.     METHODS:
  9.       handle_finished FOR EVENT finished OF cl_gui_timer.
  10. ENDCLASS. "lcl_receiver DEFINITION

  11. *----------------------------------------------------------------------*
  12. * CLASS lcl_receiver IMPLEMENTATION
  13. *----------------------------------------------------------------------*
  14. *
  15. *----------------------------------------------------------------------*
  16. CLASS lcl_receiver IMPLEMENTATION.
  17.   METHOD handle_finished.
  18.     CALL METHOD cl_gui_cfw=>set_new_ok_code
  19.       EXPORTING
  20.         new_code = '&NTE'.

  21.   ENDMETHOD. "handle_finished
  22. ENDCLASS. "lcl_receiver IMPLEMENTATION

  23. DATA: receiver TYPE REF TO lcl_receiver,
  24.       timer    TYPE REF TO cl_gui_timer.

  25. INITIALIZATION.
  26.   CREATE OBJECT timer.
  27.   CREATE OBJECT receiver.
  28.   SET HANDLER receiver->handle_finished FOR timer.
复制代码


扩展阅读:ABAP在ALV工具栏显示一个计时器
回复

使用道具 举报

songxin2000
顶,学习学习
回复 支持 反对

使用道具 举报

sunfeng09

SAP初级小粉

  1. 1 主题
  2. 12 回帖
  3. 141 积分

Ta最近发表

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表