有时我们在调用一个异步function后,我们期望得到它的返回结果然后进行后面的处理。这时我们该,用“wait until xxxx up to … seconds”.
(1)”up to..”指的是我们最多等待多长时间,
(2)”until XXX”指的是,如果XXX这个表达式的结果为true,我们就不再继续等待下去。
(3)”PERFORMING f_test ON END OF TASK”,只有当这个异步task已经真正的结束才会执行这个subroutine.如下面的程序,我把flg_execute设在f_test这个subroutine中,这样我们就能很方便地知道程序是否真正执行完成
————–code———————–
TYPES: BEGIN OF task_type,
name TYPE string,
dest TYPE string,
END OF task_type,
ty_name type c length 32.
DATA: task_list TYPE STANDARD TABLE OF task_type,
task_wa TYPE task_type,
mess TYPE c LENGTH 80.
data: flg_execute TYPE c. “X: executed
DATA: name TYPE ty_name.
name = ‘Task11’ .
CALL FUNCTION ‘RFC_SYSTEM_INFO’
STARTING NEW TASK name
DESTINATION IN GROUP DEFAULT”/DESTINATION XXX
PERFORMING f_test ON END OF TASK
EXCEPTIONS
system_failure = 1 MESSAGE mess