The scripts in this article can be used to:
1) Register the executable and Program
2) Attach Concurrent program to a Request Group
3) Submit Concurrent program
1) Registering the Executable from back end
Usually we create executable in the front-end, but this can be done from the database tier i.e. back-end too.
Below is the PL/SQL code to create an executable from back-end.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
BEGIN FND_PROGRAM.executable(‘XXMZ_ERPSCHOOLS_EMPLOYEE’ — executable , ‘XXMZ Custom’ — application , ‘XXMZ_ERPSCHOOLS_EMPLOYEE’ — short_name , ‘Executable for ERPSCHOOLS Employee INFORMATION’ — description , ‘PL/SQL Stored Procedure’ — execution_method , ‘XXMZ_ERPSCHOOLS_EMPLOYEE’ — execution_file_name , ” — subroutine_name , ” — Execution File Path , ‘US’ — language_code , ”); COMMIT; END; |
Query in the front-end to see whether your executable is created or not.
2) Registering the Concurrent program from back end
Usually we create Concurrent program in the front-end, but this can be done from the database tier too.
Below is the program to create a Concurrent program from back-end.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
BEGIN FND_PROGRAM.register(‘Concurrent program for ErpSchools Employee Information’ — program , ‘XXMZ Custom’ — application , ‘Y’ — enable , ‘XXMZ_ERPSCHOOLS_EMPLOYEE’ — short_name , ‘ErpSchools Employee Information’ — description , ‘XXMZ_ERPSCHOOLS_EMPLOYEE’ — executable_short_name , ‘XXMZ Custom’ — executable_application , ” — execution_options , ” — priority , ‘Y’ — save_output , ‘Y’ — print , ” — cols , ” — rows , ” — style , ‘N’ — style_required , ” — printer , ” — request_type , ” — request_type_application , ‘Y’ — use_in_srs , ‘N’ — allow_disabled_values , ‘N’ — run_alone , ‘TEXT’ – output_type , ‘N’ — enable_trace , ‘Y’ — restart , ‘Y’ — nls_compliant , ” — icon_name , ‘US’); — language_code COMMIT; END; |
Query in the front-end to see whether your Concurrent program is created or not.
Attaching the concurrent program to the request group
Usually we Attach Concurrent program to the request group in the front-end, but this can be done from database tier too.
Below is the program to Attach Concurrent program to the request group from back-end.
1 2 3 4 5 6 7 |
BEGIN FND_PROGRAM.add_to_group(‘XXMZ_ERPSCHOOLS_EMPLOYEE’ — program_short_name , ‘XXMZ Custom’ — application , ‘xxmz Request Group’ — Report Group Name , ‘XXMZ’); — Report Group Application COMMIT; END; |
Query in the front-end to see whether your Concurrent program is Attached to Request Group or not.
Submitting Concurrent Program from Back-end
We first need to initialize oracle applications session using
fnd_global.apps_initialize(user_id,responsibility_id,application_responsibility_id) and then run fnd_request.submit_request
1 2 3 4 5 6 7 8 9 10 11 |
DECLARE l_request_id NUMBER(30); begin FND_GLOBAL.APPS_INITIALIZE (user_id => 1318, resp_id => 59966, resp_appl_id => 20064); l_request_id:= FND_REQUEST.SUBMIT_REQUEST (‘XXMZ’ –Application Short name, ‘VENDOR_FORM’– Concurrent Program Short Name ); DBMS_OUTPUT.PUT_LINE(l_request_id); commit; end; |
To get the resp_id and resp_appl_id use the below queries.
1 2 3 |
SELECT APPLICATION_ID, RESPONSIBILITY_ID FROM FND_RESPONSIBILITY_TL WHERE RESPONSIBILITY_NAME=’xxmz Custom’; |
1 |
SELECT USER_ID FROM FND_USER WHERE USER_NAME=’OPERATIONS’ |
Once the concurrent program is submitted from back-end, status of the concurrent program can be checked using below query.
1 |
SELECT * FROM FND_CONCURRENT_REQUESTS WHERE REQUEST_ID=2766602 |