Tuesday, November 6, 2012

Concurrent Program Processing time and details Query

The below script will help to get the processing time of any concurrent program. This will help to those who are monitoring the program in production having a performance issues.

SELECT FCR.REQUEST_ID ,
  FR.RESPONSIBILITY_NAME,
  FPT.USER_CONCURRENT_PROGRAM_NAME USER_CONCURRENT_PROGRAM_NAME ,
  FCR.ACTUAL_START_DATE ACTUAL_START_DATE ,
  FCR.ACTUAL_COMPLETION_DATE ACTUAL_COMPLETION_DATE,
  FLOOR(((FCR.ACTUAL_COMPLETION_DATE-FCR.ACTUAL_START_DATE)*24*60*60)/3600)
  || ' Hrs. '
  || FLOOR((((FCR.ACTUAL_COMPLETION_DATE-FCR.ACTUAL_START_DATE)*24*60*60) - floor(((fcr.actual_completion_date-fcr.actual_start_date)*24*60*60)/3600)*3600)/60)
  || ' Min. '
  || ROUND((((FCR.ACTUAL_COMPLETION_DATE-FCR.ACTUAL_START_DATE)*24*60*60) - FLOOR(((FCR.ACTUAL_COMPLETION_DATE-FCR.ACTUAL_START_DATE)*24*60*60)/3600)*3600 - (FLOOR((((FCR.ACTUAL_COMPLETION_DATE-FCR.ACTUAL_START_DATE)*24*60*60) - FLOOR(((FCR.ACTUAL_COMPLETION_DATE-FCR.ACTUAL_START_DATE)*24*60*60)/3600)*3600)/60)*60) ))
  || ' Secs. ' PROCESSING_TIME ,
  DECODE(FCP.CONCURRENT_PROGRAM_NAME,'ALECDC',FCP.CONCURRENT_PROGRAM_NAME
  ||'['
  ||FCR.DESCRIPTION
  ||']',FCP.CONCURRENT_PROGRAM_NAME) CONCURRENT_PROGRAM_NAME ,
  DECODE(FCR.PHASE_CODE,'R','Running','C','Completed','P','Pending','I','Inactive',FCR.PHASE_CODE) PHASE ,
  DECODE(FCR.STATUS_CODE,'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',FCR.STATUS_CODE) STATUS,
  FCR.COMPLETION_TEXT COMPLETION_STATUS
FROM APPS.FND_CONCURRENT_PROGRAMS FCP ,
  APPS.FND_CONCURRENT_PROGRAMS_TL FPT ,
  APPS.FND_CONCURRENT_REQUESTS FCR,
  APPS.FND_RESPONSIBILITY_TL FR,
  APPS.FND_RESPONSIBILITY F
WHERE FCR.CONCURRENT_PROGRAM_ID     = FCP.CONCURRENT_PROGRAM_ID
AND FCR.PROGRAM_APPLICATION_ID      = FCP.APPLICATION_ID
AND FCR.CONCURRENT_PROGRAM_ID       = FPT.CONCURRENT_PROGRAM_ID
AND FCR.PROGRAM_APPLICATION_ID      = FPT.APPLICATION_ID
AND FPT.LANGUAGE                    = USERENV('Lang')
AND FCR.ACTUAL_START_DATE          IS NOT NULL
AND FCR.RESPONSIBILITY_ID=F.RESPONSIBILITY_ID
AND FR.RESPONSIBILITY_ID=F.RESPONSIBILITY_ID
AND FR.LANGUAGE                     = USERENV('Lang')
AND FPT.USER_CONCURRENT_PROGRAM_NAME='XX CONC Program NAME'
ORDER BY FCR.LAST_UPDATE_DATE DESC;

No comments:

Post a Comment