17/24
Sample Concurrent Program
Sample Concurrent Program
PROCEDURE SUBMIT_ECC_DATA_LOAD(
ERRBUF OUT NOCOPY VARCHAR2 ,
RETCODE OUT NOCOPY VARCHAR2 ,
p_system_name IN VARCHAR2,
p_load_type IN VARCHAR2,
p_languages IN VARCHAR2,
p_log_level IN VARCHAR2, p_trace_enabled IN VARCHAR2
) IS
l_app_short_name varchar2(10) := 'icx'; l_request_id number;
l_req_data varchar2(10); l_req_data1 varchar2(10); l_load_type varchar2(200);
BEGIN
l_req_data := fnd_conc_global.request_data;
SELECT decode(p_load_type, 'FULL_LOAD', 'METADATA_LOAD', p_load_type) INTO l_load_type FROM dual;
IF l_req_data ='END' THEN fnd_file.put_line(FND_FILE.OUTPUT,'Executed the sub request: ICX
ECC Data Load for load type : ' || p_load_type); fnd_file.put_line(FND_FILE.LOG,'Executed the sub request: ICX ECC
Data Load for load type : ' || p_load_type); RETURN;
END IF;
IF (l_req_data ='END-META' and p_load_type = 'FULL_LOAD') THEN
fnd_file.put_line(FND_FILE.OUTPUT,'Executed the sub request:
ICX ECC Data Load for load type : ' || l_load_type); fnd_file.put_line(FND_FILE.LOG,'Executed the sub request: ICX
ECC Data Load for load type : ' || l_load_type); l_request_id :=
fnd_request.submit_request(
application => 'FND',
program => 'ECCRUNDL',
description => 'ECC - Run Data Load',
start_time => sysdate,
argument1 => p_system_name,
argument2 => l_app_short_name,
argument3 => null,
argument4 => p_load_type,
argument5 => p_languages,
argument6 => p_trace_enabled,
argument7 => p_log_level,
sub_request => true);
fnd_file.put_line(FND_FILE.OUTPUT,'ECC Load for load type : '
|| p_load_type || ' Job Request ID:'||l_request_id); fnd_file.put_line(FND_FILE.LOG,'ECC Load for load type : ' ||
p_load_type || ' Job Request ID:'||l_request_id);
IF l_request_id = 0 THEN
--
-- If request submission failed, exit with error.
--
ELSE
--
- - Here we set the globals to put the program into the
-- PAUSED status on exit, and to save the state in
-- request_data.
--
fnd_conc_global.set_req_globals(conc_status => 'PAUSED', request_data => 'END');
ERRBUF := 'Sub-Request submitted!'; RETCODE := 0 ;
END IF;
RETURN;
END IF;
-- Submit l_load_type which can be either METADATA_LOAD or INCREMENTAL_LOAD.
l_request_id := fnd_request.submit_request(
application => 'FND', program => 'ECCRUNDL',
description => 'ECC - Run Data Load',
start_time => sysdate,
argument1 => p_system_name,
argument2 => l_app_short_name,
argument3 => null,
argument4 => l_load_type,
argument5 => p_languages,
argument6 => p_trace_enabled,
argument7 => p_log_level,
sub_request => true);
fnd_file.put_line(FND_FILE.OUTPUT,'ECC Load for load type : ' || l_load_type || ' Job Request ID:'||l_request_id);
fnd_file.put_line(FND_FILE.LOG,'ECC Load for load type : ' || l_load_type || ' Job Request ID:'||l_request_id);
IF l_request_id = 0 THEN
--
-- If request submission failed, exit with error.
--
ERRBUF := fnd_message.get;
RETCODE := 2;
ELSE
--
-- Here we set the globals to put the program into the
-- PAUSED status on exit, and to save the state in
-- request_data.
--
IF(l_load_type = 'METADATA_LOAD' AND p_load_type='FULL_LOAD')
THEN
l_req_data1 := 'END-META'; ELSE
l_req_data1 := 'END'; END IF;
fnd_conc_global.set_req_globals(conc_status => 'PAUSED',request_data => l_req_data1);
ERRBUF := 'Sub-Request submitted!'; RETCODE := 0 ;
END IF;
RETURN;
EXCEPTION
WHEN OTHERS
THEN RETCODE
:= 1;
fnd_file.put_line(FND_FILE.OUTPUT,'OTHERS exception while submitting
: ICX ECC Data Load' || sqlerrm); fnd_file.put_line(FND_FILE.LOG,'OTHERS exception while submitting :
ICX ECC Data Load' || sqlerrm);
ERRBUF := fnd_message.get; RETCODE := 2
END SUBMIT_ECC_DATA_LOAD;