Search This Blog

Monday, July 25, 2016

Concurrent Request completion time Query


select f.request_id,
       p.user_concurrent_program_name user_conc_program_name,
       f.actual_start_date start_on,
       f.actual_completion_date end_on,
       floor(((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) / 3600) ||
       ' hours ' ||
       floor((((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) -
             floor(((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) / 3600) * 3600) / 60) ||
       ' minutes ' ||
       round((((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) -
             floor(((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) / 3600) * 3600 -
             (floor((((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) -
                     floor(((f.actual_completion_date -
                            f.actual_start_date) * 24 * 60 * 60) / 3600) * 3600) / 60) * 60))) ||
       ' secs ' time_difference,
       floor(((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) / 3600) hours,
       floor((((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) -
             floor(((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) / 3600) * 3600) / 60) minutes,
       round((((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) -
             floor(((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) / 3600) * 3600 -
             (floor((((f.actual_completion_date - f.actual_start_date) * 24 * 60 * 60) -
                     floor(((f.actual_completion_date -
                            f.actual_start_date) * 24 * 60 * 60) / 3600) * 3600) / 60) * 60))) secs,
       p.concurrent_program_name concurrent_program_name,
       decode(f.phase_code, 'r', 'running', 'c', 'complete', f.phase_code) phase,
       f.status_code,
       f.argument_text
  from --fnd_concurrent_programs   p,
       --fnd_concurrent_programs_tl pt,
        fnd_concurrent_programs_vl p,
       fnd_concurrent_requests    f
 where f.concurrent_program_id = p.concurrent_program_id
   and f.program_application_id = p.application_id
      --and f.concurrent_program_id = pt.concurrent_program_id
      --and f.program_application_id = pt.application_id
   and f.concurrent_program_id = 63336 --<< change concurrent program id for different
   and f.requested_by = 4202 --<< change requested by user
      -- and pt.language = userenv('lang')
   and f.actual_start_date is not null
--and trunc(actual_start_date) between '01-JAN-2016' and '31-MAY-2016'
 order by f.actual_start_date asc

Status code and Phase code from fnd_concurrent_requests

Its difficult to find ;)

FND_CONCURRENT_REQUESTS

STATUS_CODE Column:
A Waiting
B Resuming
C Normal
D Cancelled
E Error
F Scheduled
G Warning
H On Hold
I Normal
M No Manager
Q Standby
R Normal
S Suspended
T Terminating
U Disabled
W Paused
X Terminated
Z Waiting.

PHASE_CODE column.
C Completed
I Inactive
P Pending
R Running