FUNCTION fnd_concurrent.wait_for_request(request_id IN NUMBER DEFAULT NULL,
INTERVAL IN NUMBER DEFAULT 60,
max_wait IN NUMBER DEFAULT 0,
phase OUT VARCHAR2,
status OUT VARCHAR2,
dev_phase OUT VARCHAR2,
dev_status OUT VARCHAR2,
message OUT VARCHAR2) RETURN BOOLEAN;
说明:等待并发请求的完成,然后返回请求的阶段、状态以及完成消息。在等待的过程中每隔一段时间检查一下。
输入参数说明:
request_id: 并发请求的id
interval: 两次检查见等待的秒数,两次检查之间该程序会休息
max_wait: 等待并发请求完成所能等待的的最长时间,单位为秒。
输出参数同前一个函数,恕罗勇不重复翻译啦。
原文没有示例用法,罗勇补充个:
DECLARE
call_status BOOLEAN;
rphase VARCHAR2(80);
rstatus VARCHAR2(80);
dphase VARCHAR2(30);
dstatus VARCHAR2(30);
message VARCHAR2(240);
request_id NUMBER;
BEGIN
request_id := 3046222;
call_status := fnd_concurrent.wait_for_request(request_id,
10,
1000,
rphase,
rstatus,
dphase,
dstatus,
message);
IF call_status THEN
dbms_output.put_line(rphase || '|' || rstatus || '|' || message);
END IF;
END;
程序会等在此处直到并发请求完成或者满了1000秒。