Query to fetch concurrent program and responsibility details
SELECT frt.responsibility_name,
frg.request_group_name,
frg.description,
fcpt.user_concurrent_program_name
FROM fnd_request_groups frg,
fnd_request_group_units frgu,
fnd_concurrent_programs fcp,
fnd_concurrent_programs_tl fcpt,
fnd_responsibility_tl frt,
fnd_responsibility frs
WHERE frgu.unit_application_id = fcp.application_id
AND frgu.request_unit_id = fcp.concurrent_program_id
AND frg.request_group_id = frgu.request_group_id
AND frg.application_id = frgu.application_id
AND fcpt.source_lang = USERENV ('LANG')
AND fcp.application_id = fcpt.application_id
AND fcp.concurrent_program_id = fcpt.concurrent_program_id
AND frs.application_id = frt.application_id
AND frs.responsibility_id = frt.responsibility_id
AND frt.source_lang = USERENV ('LANG')
AND frs.request_group_id = frg.request_group_id
AND frs.application_id = frg.application_id
--AND fcp.concurrent_program_name = <shortname>
AND fcpt.user_concurrent_program_name LIKE :p_user_concurrent_program_name
Following query will return concurrent program executable details:
SELECT fcpl.user_concurrent_program_name,
executable_name,
fe.execution_file_name,
fe.execution_method_code,
fa.application_short_name
FROM fnd_concurrent_programs_vl fcpl,
fnd_executables fe,
fnd_application fa
WHERE fcpl.executable_id = fe.executable_id
AND fa.application_id = fcpl.application_id
AND fcpl.user_concurrent_program_name =:p_Conc_prog_name;
This Query Will Return Request Group To Which The concurrent program Has Been Attached
SELECT fcp.USER_CONCURRENT_PROGRAM_NAME,executable_name,
fe.execution_file_name,
fe.execution_method_code,
fa.application_short_name
FROM fnd_concurrent_programs_vl fcpl,
fnd_executables fe,
fnd_application fa
WHERE fcpl.executable_id = fe.executable_id
AND fa.application_id = fcpl.application_id
AND fcpl.user_concurrent_program_name =:p_Conc_prog_name;
This Query Will Return Request Group To Which The concurrent program Has Been Attached
fcp.CONCURRENT_PROGRAM_NAME,
frg.REQUEST_GROUP_NAME
FROM apps.FND_REQUEST_GROUPS frg,
apps.FND_REQUEST_GROUP_UNITS frgu,
apps.fnd_concurrent_programs_vl fcp
WHERE frgu.REQUEST_UNIT_ID = fcp.CONCURRENT_PROGRAM_ID
AND frg.REQUEST_GROUP_ID = frgu.REQUEST_GROUP_ID
AND fcp.USER_CONCURRENT_PROGRAM_NAME =':p_Conc_prog_name;
Types of executables
There are 11 types of executables2. SQL * Plus - .SQL
3. PL/SQL Procedures - .pkb / .pks
4. SQL * Loader file - .ctl
5. Java Structured Procedure - .java / .class
6. Host(UNIX) - .sh
7. Spawned—C or Pro*C
8. Immediate
9. Java Concurrent Program
10. Request set stage Function
11. Multi-Language Function.
Concurrent Process: Simultaneously executes program running in the background with online operations to fully utilize the hardware capacity.
Concurrent Program: Can write a program that runs as a concurrent process. Use concurrent program for long running, data-intensive tasks.
Major features:
- On-line requests
- Automatic scheduling
- Concurrent processing
- Online request review
- Concurrent manager
- Simultaneous queuing
Automatic Scheduling: Oracle Application Object Library automatically schedules requests based on when they were submitted, their priority, and their compatibility with programs those are already running.
Concurrent Manager: Cocurrent Managers are components of concurrent processing that monitors and run, time-consuming, non-interactive tasks without tying up your terminal.
Concurrent manager processes requests and does the work in the background, giving the ability to run multiple tasks simultaneously.
Internal Concurrent Manager starts up, verifies the status of, resets, and shuts down the individual managers.
Simultaneous Queuing: It lets requests wait in many queues at once to ensure that the first available concurrent manager starts the request.
Concurrent Program Executable: Links an execution file and the method used to execute it with defined concurrent program. This mathod may be a program written in standard language, a reporting tool, or an operating system language.
A Concurrent program execution file is an operating system file or database stored procedure.
Concurrent Program Definition: A concurrent program is an instance of an execution file, along with parameter definitions and incompatibilities. Concurrent programs use concurrent program executables to locate the correct execution file.
Concurrent Program written in: Oracle reports, PL/SQL package procedures, SQL *Loader, SQL *Plus, Host script.
Parent request: A parent request is a concurrent request that submits another concurrent request.
Child request: A child request is a concurrent request submitted by another concurrent request.
Concurrent Manager: Concurrent Managers are components of Concurrent Processing that monitor and run, time-consuming,non-interactive tasks without tying up terminal.
Whenever request submits to run a task, a concurrent manager processes that request and does the work in background, giving the ability to run multiple tasks simultaneously.
Concurrent Program and Executable Details
The following SQL query provide you executable file name ,top name , etc...
SELECT b.user_concurrent_program_name, b.concurrent_program_name,
a.user_executable_name,
DECODE (a.execution_method_code,
'I', 'PL/SQL Stored Procedure',
'H', 'Host',
'S', 'Immediate',
'J', 'Java Stored Procedure',
'K', 'Java concurrent program',
'M', 'Multi Language Function',
'P', 'Oracle reports',
'B', 'Request Set Stage Function',
'A', 'Spawned',
'L', 'SQL*Loader',
'Q', 'SQL*Plus',
'E', 'Pearl concurrent Programm',
'Unkown Type'
) TYPE,
a.execution_file_name, a.execution_file_path, a.application_name,
c.basepath
FROM fnd_executables_form_v a,
fnd_concurrent_programs_vl b,
fnd_application c
WHERE a.application_id = c.application_id
AND a.executable_id = b.executable_id
AND a.application_id = b.application_id
AND a.executable_id > 4
AND b.user_concurrent_program_name LIKE &p_conc_prog
SELECT DISTINCT user_request_set_name
FROM FND_REQUEST_SETS_TL
WHERE request_set_id IN
(SELECT request_set_id
FROM FND_REQUEST_SET_PROGRAMS
WHERE concurrent_program_id =
(SELECT CONCURRENT_PROGRAM_ID
FROM fnd_concurrent_programs_tl
WHERE upper(USER_CONCURRENT_PROGRAM_NAME) = upper( :p_Conc_prog_name)));