DECLARE
l_responsibility_id NUMBER;
l_application_id NUMBER;
l_user_id NUMBER;
l_request_id NUMBER;
l_user_id NUMBER :=fnd_profile.value('USER_ID');
l_resp_id NUMBER :=FND_PROFILE.VALUE('RESP_ID');
l_resp_appl_id NUMBER :=fnd_profile.value('RESP_APPL_ID');
lv_phase VARCHAR2 (50) := NULL;
lv_status VARCHAR2 (50) := NULL;
lv_dev_phase VARCHAR2 (50) := NULL;
lv_dev_status VARCHAR2 (50) := NULL;
LV_MESSAGE VARCHAR2 (250):= NULL;
lb_req_status1 BOOLEAN;
BEGIN
--To set environment context.
--
apps.fnd_global.apps_initialize (1316,20563,140);
--
--Submitting Concurrent Request
--
l_request_id := fnd_request.submit_request ( application => 'XXAFF', --Application Short NAme
program => 'XXAFF_FA_TAX' , --Program Short Name
description => 'This program moves data from CTL to Staging Table' , start_time => sysdate , sub_request => FALSE
,argument1 => 'AFF AMT TAX 6'
,argument2 => P_File_Name
,argument3 => P_MAIL
);
--
COMMIT;
--
dbms_output.put_line( 'application :-'||application||chr(13)||
'program :-'||program||chr(13)||
'description :-'||description||chr(13)||
'argument1 :-'||PARAMETER1 );
IF l_request_id > 0 THEN
LOOP
lb_req_status1 := apps.fnd_concurrent.wait_for_request ( request_id => l_request_id, INTERVAL => 10, max_wait => 60, phase => lv_phase, status => lv_status, dev_phase => lv_dev_phase, dev_status => lv_dev_status, MESSAGE => lv_message );
EXIT WHEN UPPER (lv_phase) = 'COMPLETED'
OR
UPPER (lv_status) IN ('CANCELLED', 'ERROR', 'TERMINATED');
END LOOP;
END IF;
dbms_output.put_line( 'request_id :-'||l_request_id||chr(13)|| 'phase :-'||lv_phase||chr(13)|| 'status :-'||lv_status||chr(13)|| 'dev_phase :-' ||lv_dev_phase ||chr(13)|| 'dev_status :-' ||lv_dev_status ||chr(13)|| 'MESSAGE :-'||lv_MESSAGE );
IF l_request_id = 0 THEN
dbms_output.put_line ('Concurrent request failed to submit');
ELSE
dbms_output.put_line('Successfully Submitted the Concurrent Request');
END IF;
--
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error While Submitting Concurrent Request '||TO_CHAR(SQLCODE)||'-'||sqlerrm);
END;