ABAP Function RFC_PING_AND_WAIT 定时器 自动刷新

通过调用
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出现之后回阻断当前线程。所以不能做到ALV每隔一段时间刷新。

注意:回调函数是在子线程里调用,所以回调函数中不能出现任何和画面有关的代码,如ALV,write语句,message等等,
只能有数据处理代码和 SET USER-COMMAND这种事件触发代码。



后面的示例程序将后续跟上

你可能感兴趣的:(ABAP Function RFC_PING_AND_WAIT 定时器 自动刷新)