上篇文章(利用SAP定时器自动刷新ALV)中介绍了类cl_gui_timer的使用,这里继续使用该类来演示对LIST的自动刷新,以与网上通行的使用函数RFC_PING_AND_WAIT的刷新方法作个对比。
代码如下,需要说明的是,由于cl_gui_timer是SAPGUI的一个控件,必须使用CALL METHOD cl_gui_cfw=>set_new_ok_code来触发USER-COMMAND事件,而不是SET USER-COMMAND语句,大家不妨试下。
REPORT  z04_gui_timer.
 
CLASS lcl_event_handler DEFINITION DEFERRED.

DATA: go_timer TYPE REF TO cl_gui_timer,
      go_evt_hndl TYPE REF TO lcl_event_handler,
      gt_spfli TYPE TABLE OF spfli WITH HEADER LINE.
*&---------------------------------------------------------------------*
*&      START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
  SELECT * INTO TABLE gt_spfli
    FROM spfli UP TO 30 ROWS.

  PERFORM list_output.
  PERFORM init_timer.
*&---------------------------------------------------------------------*
*&      USER-COMMAND
*&---------------------------------------------------------------------*
AT USER-COMMAND.
  IF sy-ucomm = 'RFSH'.
    sy-lsind = sy-lsind - 1.
    PERFORM list_output.
  ENDIF.
*&---------------------------------------------------------------------*
*&      Form  LIST_OUTPUT
*&---------------------------------------------------------------------*
FORM list_output.
  DATA: ls_spfli LIKE LINE OF gt_spfli.
  NEW-PAGE WITH-TITLE LINE-SIZE 60.
  WRITE: /5 'CARRID', AT 30 'CONNID'.
  LOOP AT gt_spfli.
    WRITE: / gt_spfli-carrid UNDER 'CARRID',
             gt_spfli-connid UNDER 'CONNID'.
  ENDLOOP.
ENDFORM.                    " LIST_OUTPUT
*&---------------------------------------------------------------------*
*&      CLASS lcl_event_handler DEFINITION
*&---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION.
  PUBLIC SECTION.
    METHODS:
      handle_timer FOR EVENT finished OF cl_gui_timer.
ENDCLASS.                    "lcl_event_handler DEFINITION
*&---------------------------------------------------------------------*
*&      CLASS lcl_event_handler IMPLEMENTATION
*&---------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.
  METHOD handle_timer.
    DELETE gt_spfli INDEX 1.
*   SET USER-COMMAND 'RFSH'. 
    CALL METHOD cl_gui_cfw=>set_new_ok_code
      EXPORTING
        new_code = 'RFSH'.
    CALL METHOD go_timer->run "必须重新激活定时器
      EXCEPTIONS
        OTHERS = 9.
  ENDMETHOD.                 "handle_timer
ENDCLASS.                    "lcl_event_handler IMPLEMENTATION
*&---------------------------------------------------------------------*
*&      Form  INIT_TIMER
*&---------------------------------------------------------------------*
FORM init_timer.
CHECK go_timer IS INITIAL. 
  CREATE OBJECT go_timer
    EXCEPTIONS
      OTHERS = 9.
  CREATE OBJECT go_evt_hndl.
  SET HANDLER go_evt_hndl->handle_timer FOR go_timer.

go_timer->interval = 3.   "设置间隔为3秒
  CALL METHOD go_timer->run "激活定时器
    EXCEPTIONS
      OTHERS = 9.
ENDFORM.                    " INIT_TIMER

ABAP:利用SAP定时器自动刷新LIST相关推荐

  1. ABAP:利用SAP定时器自动刷新ALV

    ABAP:利用SAP定时器自动刷新ALV 曾于无意之中发现,SAP系统中有个名为CL_GUI_TIMER的类,测试下来发现还是挺好用的,比网上那些自动刷新的例子直观多了.这里我们就做个演示实例. 先做 ...

  2. 利用SwipeRefreshLayout实现类似知乎客户端的一打开界面就自动刷新的效果

    利用SwipeRefreshLayout实现类似知乎客户端的一打开界面就自动刷新的效果 看这里

  3. 服务器里的文件怎么实时更新,简单几步,利用Serverless,让COS中文件变更自动刷新CDN...

    背景 这几天遇到这样的一个场景,相信也是大多数的站长会遇到的一个问题: 自己的一个个人站点使用了COS作为前端静态资源的存储(JS.CSS.图片等等),同时开启了CDN作为资源的加速分发,为了最大的达 ...

  4. android 自动界面刷新,利用SwipeRefreshLayout实现类似知乎客户端的一打开界面就自动刷新的效果...

    前言 最近在学习下拉刷新的过程中,遇到了一个需求:实现一个图书馆藏的首页推荐页,为了追求良好的用户体验,要求刚进入页面时就开始刷新,如下图: 刚进入就刷新 为了实现这个效果使用了SwipeRefres ...

  5. 【SAP Abap】SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO

    SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO 1.ALV 简介 2.演示程序 1.ALV 简介 ALV 报表程序,是我们在 SAP 项目中最常开发的程 ...

  6. JSP学习笔记(五):日期处理、页面重定向、点击量统计、自动刷新和发送邮件...

    一.JSP 日期处理: 使用JSP最重要的优势之一,就是可以使用所有Java  API.本节讲述Java中的Date类,它在java.util包下,封装了当前日期和时间. Date类有两个构造函数.第 ...

  7. 利用SAP FR高效预测客户需求

    利用SAP F&R高效预测客户需求 SAP F&R的精确预测功能可以提供客户需求的信息,这使得灵活的协调供需成为可能.这是事实,而非来自估计和经验. 预测客户需求是零售业面临的最大挑战 ...

  8. ajax+jsp自动刷新

    通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信.通过这个对象, JavaScript 可在不重载页面的情况与 Web ...

  9. 利用 51 定时器生成 PWM

    利用 51 定时器生成 PWM 1 PWM 简介 PWM(Pulse Width Modulation,脉冲宽度调制)是按一定规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调制方式. 在控制系统 ...

最新文章

  1. 科普丨深度学习引擎的终极形态是什么?
  2. spring Java相对路径/绝对路径总结
  3. linux 添加开机自启动脚本
  4. Tomcat的带有守护程序和关闭挂钩的正常关闭
  5. 如何用golang获取linux上文件的访问/创建/修改时间
  6. bash获得相对路径的文件信息
  7. kali使用msf 通过ms17_010_eternalblue(永恒之蓝)漏洞攻击win7测试 及乱码问题解决
  8. 弃用数据库自增ID,曝光一下我自己用到的解决方法之---终结篇
  9. JavaSE 帮助文档下载
  10. Unity中的文件夹和路径
  11. 苹果8a1660是什么版本_苹果a1660是什么版本
  12. Excel 批量合并相同内容单元格方法
  13. win10无法装载重装系统iso文件_Win10系统如何装载和弹出ISO镜像文件?
  14. 华为太极magisk安装教程_【玩机必会技能】小米手机通用刷TWRP RECOVERY|ROOT|刷第三方ROM教程...
  15. llvm greedy register allocator
  16. 【算法千题案例】每日LeetCode打卡——68.反转字符串中的元音字母
  17. Wireshark菜单栏介绍之编辑菜单4-4
  18. Hierarchy窗口
  19. 研究生英语期末复习(Unit1)
  20. vue 如何实现多页面应用(简单版)

热门文章

  1. HTTP 和 Socket 的区别
  2. 如何使用Topshelf管理Windows服务
  3. JAVA多线程之wait/notify
  4. Console类浅谈
  5. 如何用JavaScript实现2+2=5?
  6. ubuntu server 16.10 启用无线网卡
  7. Win8 Metro(C#)数字图像处理--3.3图像直方图计算
  8. 451 Sort Characters By Frequency
  9. 掘金专访 - 收藏集 - 掘金
  10. 怎么用MathType添加函数识别