The intention if this post is to post some of the queries which will be helpful when querying on Concurrent Programs / Request.
#1. Query to find the Run Timing for the Concurrent Request.
#1. Query to find the Run Timing for the Concurrent Request.
select fcr.request_id
,fcp.user_concurrent_program_name
,fcp.concurrent_program_name
,fcr.request_date
,fcr.actual_start_date
,fcr.actual_completion_date
,(
(floor(((fcr.actual_completion_date - fcr.actual_start_date)*24)) || 'hr ') ||
(floor(((fcr.actual_completion_date - fcr.actual_start_date)*24*60)) || 'min ')||
(round(((fcr.actual_completion_date - fcr.actual_start_date)*24*60*60))|| 'sec')
) duration
,fcr.status_code
,flvs.meaning status
,fcr.phase_code
,flvp.meaning phase
,fcr.completion_text
,fcr.argument_text
,fcr.logfile_name
,fcr.outfile_name
from apps.fnd_concurrent_programs_vl fcp
,apps.fnd_concurrent_requests fcr
,apps.fnd_lookup_values flvs
,apps.fnd_lookup_values flvp
where fcr.concurrent_program_id = fcp.concurrent_program_id(+)
and flvs.lookup_code = fcr.status_code
and flvs.lookup_type = 'CP_STATUS_CODE'
and flvs.language = 'US'
and flvs.view_application_id = 0
and flvp.lookup_code = fcr.phase_code
and flvp.lookup_type = 'CP_PHASE_CODE'
and flvp.language = 'US'
and flvp.view_application_id = 0;
#2. Query to find the details of the Scheduled Concurrent Requests & Request Sets including the programs under the Request Set.
select request_id
,conc_prog_name
,params
,prog_schedule_type
,prog_schedule
,user_name
,requested_start_date
from (
select fcr.request_id
,1 seq
,decode(fcpt.user_concurrent_program_name,
'Report Set','Report Set:' || fcr.description,
fcpt.user_concurrent_program_name) conc_prog_name
,(fcr.argument1||','||fcr.argument2||','||fcr.argument3||','||fcr.argument4||','||fcr.argument5||','||
fcr.argument6||','||fcr.argument7||','||fcr.argument8||','||fcr.argument9||','||fcr.argument10) params -- Add more parameters if needed or use column 'argument_text'
,nvl2(fcr.resubmit_interval,'Periodically',nvl2(fcr.release_class_id, 'On Specific Days', 'Once')) prog_schedule_type
,(case nvl2(fcr.resubmit_interval,'PERIODICALLY',nvl2(fcr.release_class_id, 'ON SPECIFIC DAYS', 'ONCE'))
when 'PERIODICALLY'
then 'EVERY ' || fcr.resubmit_interval || ' ' || fcr.resubmit_interval_unit_code || ' FROM ' ||fcr.resubmit_interval_type_code || ' OF PREV RUN'
when 'ONCE'
then 'AT :' ||to_char(fcr.requested_start_date, 'DD-MON-YYYY HH24:MI')
else
'EVERY: ' || fcrc.class_info
end) prog_schedule
,fu.user_name user_name
,to_char(fcr.requested_start_date, 'DD-MON-YYYY HH24:MI') requested_start_date
from apps.fnd_concurrent_programs_tl fcpt
,apps.fnd_concurrent_requests fcr
,apps.fnd_user fu
,apps.fnd_conc_release_classes fcrc
where fcpt.application_id = fcr.program_application_id
and fcpt.concurrent_program_id = fcr.concurrent_program_id
and fcr.requested_by = fu.user_id
and fcr.phase_code = 'P'
and fcr.requested_start_date > sysdate
and fcpt.language = 'US'
and fcrc.release_class_id(+) = fcr.release_class_id
and fcrc.application_id(+) = fcr.release_class_app_id
union
select fcr.request_id
,2 seq
,'-->' || fcp.user_concurrent_program_name conc_prog_name
,(frr.argument1||','||frr.argument2||','||frr.argument3||','||frr.argument4||','||frr.argument5||','||
frr.argument6||','||frr.argument7||','||frr.argument8||','||frr.argument9||','||frr.argument10) params -- Add more parameters if needed
,null prog_schedule_type
,null prog_schedule
,null user_name
,null requested_start_date
from apps.fnd_concurrent_programs_tl fcpt
,apps.fnd_concurrent_requests fcr
,apps.fnd_user fu
,apps.fnd_conc_release_classes fcrc
,apps.fnd_run_requests frr
,apps.fnd_concurrent_programs_tl fcp
where fcpt.application_id = fcr.program_application_id
and fcpt.concurrent_program_id = fcr.concurrent_program_id
and fcr.requested_by = fu.user_id
and fcr.phase_code = 'P'
and fcr.requested_start_date > sysdate
and fcpt.language = 'US'
and fcrc.release_class_id(+) = fcr.release_class_id
and fcrc.application_id(+) = fcr.release_class_app_id
and fcpt.user_concurrent_program_name = 'Report Set'
and frr.parent_request_id = fcr.request_id
and frr.concurrent_program_id = fcp.concurrent_program_id
) qrslt
order by request_id,seq;
Feel free to point out if anything is missing/wrong in this blog.