How to Submit a Concurrent Program from Backend


Standard API to Submit concurrent program from backend in Oracle Apps

1. fnd_request.submit_request

3 major required things to Submit concurrent program from backend in Oracle Apps

1. Short Application Name under which the Concurrent Program registered .
2.Concurrent Program short code name which we want to call from pl/sql.
3.Needs to know the Concurrent Program Parameters , which we also needs to pass while calling the concurrent program from pl/sql package.


Sample Script

SET SERVEROUTPUT ON;
DECLARE
ln_responsibility_id NUMBER;
ln_application_id    NUMBER;
ln_user_id            NUMBER;
ln_request_id           NUMBER;
BEGIN
 
  SELECT DISTINCT fr.responsibility_id,
                  frx.application_id
             INTO ln_responsibility_id,
                  ln_application_id
             FROM apps.fnd_responsibility frx,
                  apps.fnd_responsibility_tl fr
            WHERE fr.responsibility_id = frx.responsibility_id
        AND UPPER (fr.responsibility_name) LIKE UPPER('Receivables Manager');
 
   SELECT user_id INTO ln_user_id FROM fnd_user WHERE user_name = 'MYAPPSUSER';
 
  --To setup environment.
 
 apps.fnd_global.apps_initialize (ln_user_id,ln_responsibility_id,ln_application_id);
 
  --Submitting Concurrent Request
 
  ln_request_id := fnd_request.submit_request ( 
                            application   => 'ONT', 
                            program       => 'XX_CUST_REPORT', 
                            description   => 'Customer Statement', 
                            start_time    => SYSDATE, 
                            sub_request   => FALSE,
                argument1     => 101,
                            argument2     =>TO_CHAR(trunc(SYSDATE-558), 'YYYY/MM/DD HH24:MI:SS'),
                            argument3     =>TO_CHAR(trunc(SYSDATE-194), 'YYYY/MM/DD HH24:MI:SS'),
                            argument4     =>'DEALER AND DISTRIBUTOR',
                            argument5     =>null,
                            argument6     =>null,
                            argument7     =>null,
                            argument8     =>'SUMMARY',
                            argument9     =>'MYAPPSUSER');
 
  COMMIT;
 
  IF ln_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;
/





Please do like and subscribe to my youtube channel: https://www.youtube.com/@foalabs If you like this post please follow,share and comment