DECLARE
l_request_set_exist BOOLEAN := FALSE;
l_request_id INTEGER := 0;
l_set_mode BOOLEAN := FALSE;
l_CONC_PROG_SUBMIT BOOLEAN := FALSE;
srs_failed EXCEPTION;
submitprog_failed EXCEPTION;
setmode_failed EXCEPTION;
submitset_failed EXCEPTION;
l_start_date VARCHAR2 (250);
l_req_data VARCHAR2 (10);
l_wait_for_req BOOLEAN;
l_phase VARCHAR2 (100);
l_status VARCHAR2 (100);
l_dev_phase VARCHAR2 (100);
l_dev_status VARCHAR2 (100);
l_message VARCHAR2 (4000);
BEGIN
l_set_mode := fnd_submit.set_mode (FALSE);
IF (NOT l_set_mode)
THEN
RAISE setmode_failed;
END IF;
l_req_data := fnd_conc_global.request_data;
IF (l_req_data IS NOT NULL)
THEN
p_status := 'N';
RETURN;
END IF;
l_request_set_exist :=
FND_SUBMIT.set_request_set (application => 'OFA', -- Application short name
request_set => 'FNDRSSUB46' -- Request set shot name
);
IF (NOT l_request_set_exist)
THEN
RAISE srs_failed;
END IF;
dbms_output.put_line('Calling submit program first stage');
l_conc_prog_submit :=
fnd_submit.submit_program ('OFA', -- Application short name
'FAMAPT', -- Concurrent program shot name
'STAGE10', -- Stage
'FA CROP', --parameter for concurrent program
'NORMAL' -- --parameter for concurrent program
);
IF (NOT l_conc_prog_submit)
THEN
RAISE submitprog_failed;
END IF;
dbms_output.put_line('Calling submit program second stage');
l_conc_prog_submit :=
fnd_submit.submit_program ('OFA', -- Application short name
'FAS824', -- Concurrent program shot name
'STAGE20', -- Stage
'FA CROP', --parameter for concurrent program
);
IF (NOT l_conc_prog_submit)
THEN
RAISE submitprog_failed;
END IF;
l_request_id := fnd_submit.submit_set (NULL, FALSE);
COMMIT;
IF (l_request_id = 0)
THEN
RAISE submitset_failed;
END IF;
l_wait_for_req :=
fnd_concurrent.wait_for_request (request_id => l_request_id,
interval => 2,
max_wait => 120,
phase => l_phase,
status => l_status,
dev_phase => l_dev_phase,
dev_status => l_dev_status,
EXCEPTION
WHEN setmode_failed
THEN
dbms_output.put_line('Call to set mode failed');
WHEN srs_failed
THEN
dbms_output.put_line('Call to set_request_set failed');
WHEN submitprog_failed
THEN
dbms_output.put_line('Call to submit_program failed');
WHEN submitset_failed
THEN
dbms_output.put_line( 'Call to submit_set failed');
WHEN OTHERS
THEN
dbms_output.put_line('Request set submission failed');
END;
l_request_set_exist BOOLEAN := FALSE;
l_request_id INTEGER := 0;
l_set_mode BOOLEAN := FALSE;
l_CONC_PROG_SUBMIT BOOLEAN := FALSE;
srs_failed EXCEPTION;
submitprog_failed EXCEPTION;
setmode_failed EXCEPTION;
submitset_failed EXCEPTION;
l_start_date VARCHAR2 (250);
l_req_data VARCHAR2 (10);
l_wait_for_req BOOLEAN;
l_phase VARCHAR2 (100);
l_status VARCHAR2 (100);
l_dev_phase VARCHAR2 (100);
l_dev_status VARCHAR2 (100);
l_message VARCHAR2 (4000);
BEGIN
l_set_mode := fnd_submit.set_mode (FALSE);
IF (NOT l_set_mode)
THEN
RAISE setmode_failed;
END IF;
l_req_data := fnd_conc_global.request_data;
IF (l_req_data IS NOT NULL)
THEN
p_status := 'N';
RETURN;
END IF;
l_request_set_exist :=
FND_SUBMIT.set_request_set (application => 'OFA', -- Application short name
request_set => 'FNDRSSUB46' -- Request set shot name
);
IF (NOT l_request_set_exist)
THEN
RAISE srs_failed;
END IF;
dbms_output.put_line('Calling submit program first stage');
l_conc_prog_submit :=
fnd_submit.submit_program ('OFA', -- Application short name
'FAMAPT', -- Concurrent program shot name
'STAGE10', -- Stage
'FA CROP', --parameter for concurrent program
'NORMAL' -- --parameter for concurrent program
);
IF (NOT l_conc_prog_submit)
THEN
RAISE submitprog_failed;
END IF;
dbms_output.put_line('Calling submit program second stage');
l_conc_prog_submit :=
fnd_submit.submit_program ('OFA', -- Application short name
'FAS824', -- Concurrent program shot name
'STAGE20', -- Stage
'FA CROP', --parameter for concurrent program
);
IF (NOT l_conc_prog_submit)
THEN
RAISE submitprog_failed;
END IF;
l_request_id := fnd_submit.submit_set (NULL, FALSE);
COMMIT;
IF (l_request_id = 0)
THEN
RAISE submitset_failed;
END IF;
l_wait_for_req :=
fnd_concurrent.wait_for_request (request_id => l_request_id,
interval => 2,
max_wait => 120,
phase => l_phase,
status => l_status,
dev_phase => l_dev_phase,
dev_status => l_dev_status,
EXCEPTION
WHEN setmode_failed
THEN
dbms_output.put_line('Call to set mode failed');
WHEN srs_failed
THEN
dbms_output.put_line('Call to set_request_set failed');
WHEN submitprog_failed
THEN
dbms_output.put_line('Call to submit_program failed');
WHEN submitset_failed
THEN
dbms_output.put_line( 'Call to submit_set failed');
WHEN OTHERS
THEN
dbms_output.put_line('Request set submission failed');
END;
hello i have a problem in fnd_concurrent.wait_for_request API, i'm execute a concurrent program that call a request set, but when i excetue a concurrent progrma the waitng not end.
ReplyDelete