/*
--
-- Name
-- submit_request
-- Purpose
-- Submits concurrent request to be processed by a concurrent manager
--
-- Arguments
-- application - Short name of application under which the program
-- - is registered
-- program - concurrent program name for which the request has
-- - to be submitted
-- description - Optional. Will be displayed along with user
-- - concurrent program name
-- start_time - Optional. Time at which the request has to start
-- - running
-- sub_request - Optional. Set to TRUE if the request is submitted
-- - from another running request and has to be treated
-- - as a sub request. Default is FALSE
-- argument1..100 - Optional. Arguments for the concurrent request
-- 提交并发请求
--FND_REQUEST.SUBMIT_REQUEST(application IN varchar2 default NULL,
program IN varchar2 default NULL,
description IN varchar2 default NULL,
start_time IN varchar2 default NULL,
sub_request IN boolean default FALSE
argument1,
argument2, ..., argument99,
argument100) return number;
*/
COMMIT;
IF L_REQUEST_ID IS NULL OR L_REQUEST_ID = 0 THEN
RETURN;
END IF;
/*
--
-- Name
-- WAIT_FOR_REQUEST
-- Purpose
-- Waits for the request completion, returns phase/status and
-- completion text to the caller. Calls sleep between db checks.
-- Arguments (input)
-- request_id - Request ID to wait on
-- interval - time b/w checks. Number of seconds to sleep
-- - (default 60 seconds)
-- max_wait - Max amount of time to wait (in seconds)
-- - for request's completion
-- Arguments (output)
-- User version of phase and status
-- Developer version of phase and status
-- Completion text if any
-- phase - Request phase ( from meaning in fnd_lookups )
-- status - Request status( for display purposes )
-- dev_phase - Request phase as a constant string so that it
-- - can be used for comparisons )
-- dev_status - Request status as a constatnt string
-- message - Completion message if request has completed
--
--等待并发请求完成,并返回分析/状态和完成信息,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;
*/
L_BL_RESULT := FND_CONCURRENT.WAIT_FOR_REQUEST(L_REQUEST_ID,
1,
0,
X_PHASE,
X_STATUS,
X_DEV_PHASE,
X_DEV_STATUS,
X_MESSAGE);
IF X_DEV_PHASE = 'COMPLETE' AND X_DEV_STATUS = 'NORMAL' THEN
editor_pkg.report(L_REQUEST_ID,'Y'); --使输出的报表pdf文件在浏览器中显示。
ELSE
fnd_file.put_line(1,RPAD('x_phase',20,' ') || '=' || X_PHASE);
fnd_file.put_line(1,RPAD('x_status=',20,' ') || '=' || X_STATUS);
fnd_file.put_line(1,RPAD('x_dev_phase=', 20, ' ') || '=' || X_DEV_PHASE);
fnd_file.put_line(1,RPAD('x_dev_status=',20,' ') || '=' || X_DEV_STATUS);
fnd_file.put_line(1,RPAD('x_message=',20,' ') || '=' || X_MESSAGE);
fnd_file.put_line(1,'Warning : Starting journal print report failure! It did not running in 120 seconds, its request_id is ' ||
TO_CHAR(L_REQUEST_ID) || ' please check it.');
END IF;
end print_report;