通过调用 Function module RFC_PING_AND_WAIT实现计时器功能,实现页面的自动刷新
该程序通过 RFC_PING_AND_WAIT和手动触发报表的user command事件,来完成每隔一个时间段报表刷新一次。
(有两个按钮,t-code分别是start和 end)
RFC_PING_AND_WAIT 实际不做任何事,只是实现一个时间等待,把调用它的线程阻断一段时间。
示例:
* Wait in a task
CALL FUNCTION 'RFC_PING_AND_WAIT' STARTING NEW TASK '001'
PERFORMING f_task_end ON END OF TASK
EXPORTING
seconds = 5 " Refresh time
busy_waiting = space
EXCEPTION
RESOURCE_FAILURE = 1
communication_failure = 2 MESSAGE lv_mssg
system_failure = 3 MESSAGE lv_mssg
OTHERS = 4.
PERFORMING xxxxx ON END OF task 是指定子线程的回调函数(在子线程里执行,所以子线程里不能调用窗体等,如message)
虽然可以调用ALV,但ALV出现之

本文介绍了如何利用ABAP的Function Module 'RFC_PING_AND_WAIT' 创建计时器功能,以实现报表的自动刷新。通过在后台启动新任务并设定间隔时间,实现了在用户命令事件中每隔一段时间刷新报表。需要注意的是,由于子线程的限制,回调函数中不能包含与界面交互的代码,如ALV或消息显示。

1825

被折叠的 条评论
为什么被折叠?



