该报表主要结构如下,完整代码见文末。

  • f_call_rfc_wait: 发起异步调用,等待 1 秒钟,来模拟每隔 1 秒刷新屏幕的效果。

  • f_display_data: ALV 常规操作,调用函数 REUSE_ALV_LIST_DISPLAY 显示 ALV 数据。

  • f_read_data: 调用函数 THUSRINFO,返回的结果作为 ALV 的数据源。该函数返回当前系统登录的用户名列表:

完整代码:

REPORT ZALV_AUTO_REFRESH.
DATA :gt_user LIKE uinfo OCCURS 0 WITH HEADER LINE. " User info in SM04*---------------------------------------------------------------------*
START-OF-SELECTION.PERFORM f_read_data.PERFORM f_display_data.*---------------------------------------------------------------------*
*       Form  F_LIRE_DATA
*---------------------------------------------------------------------*
FORM f_read_data.REFRESH gt_user.* Get User's infoCALL FUNCTION 'THUSRINFO'TABLESusr_tabl = gt_user.* Wait in a taskPERFORM f_call_rfc_wait.ENDFORM.                               " F_READ_DATA
*---------------------------------------------------------------------*
*      Form  F_DISPLAY_DATA
*---------------------------------------------------------------------*
FORM f_display_data.DEFINE m_sort.add 1 to ls_sort-spos.ls_sort-fieldname = &1.append ls_sort to lt_sort.END-OF-DEFINITION.DEFINE m_event_exit.clear ls_event_exit.ls_event_exit-ucomm = &1.ls_event_exit-after = 'X'.append ls_event_exit to lt_event_exit.END-OF-DEFINITION.DATA :ls_layout     TYPE slis_layout_alv,lt_sort       TYPE slis_t_sortinfo_alv,ls_sort       TYPE slis_sortinfo_alv,lt_event_exit TYPE slis_t_event_exit,ls_event_exit TYPE slis_event_exit.* Build Sort Tablem_sort 'ZEIT'.* Build Event Exit Tablem_event_exit '&NTE'.                 " Refreshls_layout-zebra = 'X'.ls_layout-colwidth_optimize = 'X'.CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'EXPORTINGi_callback_program      = sy-cprogi_callback_user_command = 'USER_COMMAND'is_layout               = ls_layouti_structure_name        = 'UINFO'it_sort                 = lt_sortit_event_exit           = lt_event_exitTABLESt_outtab                = gt_user.ENDFORM.                               " F_DISPLAY_DATA
*---------------------------------------------------------------------*
*       FORM USER_COMMAND                                             *
*---------------------------------------------------------------------*
FORM user_command USING i_ucomm     TYPE syucommis_selfield TYPE slis_selfield.     "#EC CALLEDCASE i_ucomm.WHEN '&NTE'.PERFORM f_read_data.is_selfield-refresh = 'X'.SET USER-COMMAND '&OPT'.         " Optimize columns widthENDCASE.ENDFORM.                               " USER_COMMAND
*---------------------------------------------------------------------*
*      Form  F_CALL_RFC_WAIT
*---------------------------------------------------------------------*
FORM f_call_rfc_wait.DATA lv_mssg(80).                                         "#EC NEEDED* Wait in a taskCALL FUNCTION 'RFC_PING_AND_WAIT' STARTING NEW TASK '001'PERFORMING f_task_end ON END OF TASKEXPORTINGseconds               = 1        " Refresh timebusy_waiting          = spaceEXCEPTIONSRESOURCE_FAILURE      = 1communication_failure = 2  MESSAGE lv_mssgsystem_failure        = 3  MESSAGE lv_mssgOTHERS                = 4.ENDFORM.                               " F_CALL_RFC_WAIT
*---------------------------------------------------------------------*
*      Form  F_TASK_END
*---------------------------------------------------------------------*
FORM f_task_end USING u_taskname.DATA lv_mssg(80).                                         "#EC NEEDED* Receiving task resultsRECEIVE RESULTS FROM FUNCTION 'RFC_PING_AND_WAIT'EXCEPTIONSRESOURCE_FAILURE      = 1communication_failure = 2  MESSAGE lv_mssgsystem_failure        = 3  MESSAGE lv_mssgOTHERS                = 4.CHECK sy-subrc EQ 0.SET USER-COMMAND '&NTE'.             " RefreshENDFORM.                               " F_TASK_END
*************** END OF PROGRAM Z_ALV_AUTO_REFRESH *********************

更多Jerry的原创文章,尽在:“汪子熙”:

具备自动刷新功能的 SAP ABAP ALV 报表相关推荐

  1. 如何在 SAP ABAP ALV 报表里以交通灯的方式显示某一列的值

    在本教程的这篇步骤里,我们介绍了 ALV 层次顺序表的输出实现明细. SAP ABAP ALV 层次顺序表如何使用双表头(Multiple Headers)进行数据输出 本文介绍如何在 ALV 层次顺 ...

  2. SAP abap alv报表实例

    这是一个sap alv报表实例 REPORT ztest005.*定义类型组 TYPE-POOLS: abap,slis.*定义ALV变量 DATA : lt_fieldcat TYPE slis_t ...

  3. SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例

    1. 定义和注册事件接受器类 *----------------------------------------------------------------------* * CLASS LCL_ ...

  4. 该页面仅以HTML格式保存_轻松实现页面自动刷新功能,提高前端开发效率

    作为一名前端,开发web页面是我们的本职工作.在完成一个页面开发的过程中,保存代码然后手动刷新页面查看效果,这样的动作需要重复无数次,虽然一次这样的动作可能只要花费几秒钟的时间,但是次数多了也挺浪费时 ...

  5. 给 ABAP ALV 报表的数据行增添颜色效果试读版

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

  6. SAP ABAP alv中设置回车事件

    * 添加这段刷新代码   READ TABLE t_data_hz INDEX rs_selfield-tabindex.    " 将变动内容更新到内表   DATA: lr_grid T ...

  7. fastadmin列表自动刷新功能

    在fastadmin框架中,将列表自动刷新给屏蔽了,如果要开启的话,有点麻烦,需要去重新修改框架核心的js代码,然后还需要重新进行编译. 在看开发文档的时候,发现列表是存在refresh的方法,既然有 ...

  8. 六款具备自动泊车功能车型简析

    新皇冠 型号:V8 4.3 Royal Saloon VIP 价格:76.47万-89.96万元 特点:皇冠装载的这套自动泊车系统简称IPA,该系统最大亮点是支持自动垂直倒车入库,首先该系统需要手动启 ...

  9. 48 行代码给 ABAP ALV 报表的数据行增添颜色效果

    按照前一步骤 27 行代码开发一个最简单的 SAP ALV 报表完成之后,我们仅使用 27 行代码,就得到了如下图所示的 ABAP ALV 输出: 本步骤我们在此基础上,为这个朴素的 ALV 报表,增 ...

最新文章

  1. Spring boot注入配置为java静态属性
  2. 图解梯度下降背后的数学原理
  3. 效率神器!开源快捷启动工具
  4. OpenGL 点光源阴影Point Shadows
  5. 修改Docker默认存储位置的方法
  6. 在线等比数列项数生成器
  7. Awesome Competitive Programming
  8. (附源码)ssm 座位管理系统 毕业设计 250858
  9. 《knowledge graph embedding:a survey of approaches and applications》论文阅读
  10. 【重识云原生】第六章容器基础6.4.9.6节——Service 与 Pod 的DNS
  11. 华硕主板更改UEFI安全启动项
  12. 手动挡你会开吗 八招教你开好手动挡车型
  13. 如何把word文件压缩到最小
  14. 【C初阶】C初阶考试题
  15. 职称申报评审管理系统_《四川省职称评审管理暂行办法》出台
  16. 远程传输文件命令:scp、rsync
  17. 工业软件中的EDA软件名单
  18. 用手机也能轻松玩转MATLAB编程
  19. mysql数据结构面试题_MySQL面试题汇总
  20. 北大青鸟培训第四周第一天:HTML和CSS相关知识 【定位】(持续更新)

热门文章

  1. Centos7下python2.x 和python3.x共存
  2. PC-飞起来!我的Windows XP——五步快速优化Windows XP
  3. linux下查找某个目录下包含某个字符串的文件
  4. Fibonacci递归非递归方法
  5. 如何遍历当前进程中的AppDomain
  6. Spark实战系列目录
  7. 即时消息服务框架(iMSF)应用实例之分布式事务三阶段提交协议的实现
  8. iOS相册、相机、通讯录权限获取
  9. 6月21 百度文本编辑器
  10. mediastream2使用指南(转载)