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;