具备自动刷新功能的 SAP ABAP ALV 报表
该报表主要结构如下,完整代码见文末。
- 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 报表相关推荐
- 如何在 SAP ABAP ALV 报表里以交通灯的方式显示某一列的值
在本教程的这篇步骤里,我们介绍了 ALV 层次顺序表的输出实现明细. SAP ABAP ALV 层次顺序表如何使用双表头(Multiple Headers)进行数据输出 本文介绍如何在 ALV 层次顺 ...
- SAP abap alv报表实例
这是一个sap alv报表实例 REPORT ztest005.*定义类型组 TYPE-POOLS: abap,slis.*定义ALV变量 DATA : lt_fieldcat TYPE slis_t ...
- SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
1. 定义和注册事件接受器类 *----------------------------------------------------------------------* * CLASS LCL_ ...
- 该页面仅以HTML格式保存_轻松实现页面自动刷新功能,提高前端开发效率
作为一名前端,开发web页面是我们的本职工作.在完成一个页面开发的过程中,保存代码然后手动刷新页面查看效果,这样的动作需要重复无数次,虽然一次这样的动作可能只要花费几秒钟的时间,但是次数多了也挺浪费时 ...
- 给 ABAP ALV 报表的数据行增添颜色效果试读版
零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...
- SAP ABAP alv中设置回车事件
* 添加这段刷新代码 READ TABLE t_data_hz INDEX rs_selfield-tabindex. " 将变动内容更新到内表 DATA: lr_grid T ...
- fastadmin列表自动刷新功能
在fastadmin框架中,将列表自动刷新给屏蔽了,如果要开启的话,有点麻烦,需要去重新修改框架核心的js代码,然后还需要重新进行编译. 在看开发文档的时候,发现列表是存在refresh的方法,既然有 ...
- 六款具备自动泊车功能车型简析
新皇冠 型号:V8 4.3 Royal Saloon VIP 价格:76.47万-89.96万元 特点:皇冠装载的这套自动泊车系统简称IPA,该系统最大亮点是支持自动垂直倒车入库,首先该系统需要手动启 ...
- 48 行代码给 ABAP ALV 报表的数据行增添颜色效果
按照前一步骤 27 行代码开发一个最简单的 SAP ALV 报表完成之后,我们仅使用 27 行代码,就得到了如下图所示的 ABAP ALV 输出: 本步骤我们在此基础上,为这个朴素的 ALV 报表,增 ...
最新文章
- Spring boot注入配置为java静态属性
- 图解梯度下降背后的数学原理
- 效率神器!开源快捷启动工具
- OpenGL 点光源阴影Point Shadows
- 修改Docker默认存储位置的方法
- 在线等比数列项数生成器
- Awesome Competitive Programming
- (附源码)ssm 座位管理系统 毕业设计 250858
- 《knowledge graph embedding:a survey of approaches and applications》论文阅读
- 【重识云原生】第六章容器基础6.4.9.6节——Service 与 Pod 的DNS
- 华硕主板更改UEFI安全启动项
- 手动挡你会开吗 八招教你开好手动挡车型
- 如何把word文件压缩到最小
- 【C初阶】C初阶考试题
- 职称申报评审管理系统_《四川省职称评审管理暂行办法》出台
- 远程传输文件命令:scp、rsync
- 工业软件中的EDA软件名单
- 用手机也能轻松玩转MATLAB编程
- mysql数据结构面试题_MySQL面试题汇总
- 北大青鸟培训第四周第一天:HTML和CSS相关知识 【定位】(持续更新)