USP_KPI_EMAILPROCESS_DURATION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VALUE | decimal(20, 4) | INOUT | |
@ASOFDATE | datetime | IN | |
@MONITORAVGORMAX | int | IN | |
@INCLUDETRANSACTIONALPROCESSES | bit | IN | |
@INCLUDEGENERALPURPOSEPROCESSES | bit | IN | |
@INCLUDESTATUSPROCESSES | bit | IN |
Definition
Copy
create procedure dbo.USP_KPI_EMAILPROCESS_DURATION(
@VALUE decimal(20,4) output,
@ASOFDATE datetime,
@MONITORAVGORMAX integer,
@INCLUDETRANSACTIONALPROCESSES bit = 1,
@INCLUDEGENERALPURPOSEPROCESSES bit = 1,
@INCLUDESTATUSPROCESSES bit = 1
)
as
begin
set nocount on;
select @ASOFDATE = dbo.UFN_DATE_GETLATESTTIME(@ASOFDATE);
declare @GENERALPURPOSEID uniqueidentifier = '00000000-0000-0000-0000-000000000000';
declare @TRANSACTIONALID uniqueidentifier = '00000000-0000-0000-0000-000000000000';
declare @STATUSID uniqueidentifier = '00000000-0000-0000-0000-000000000000';
if @INCLUDETRANSACTIONALPROCESSES = 1
set @TRANSACTIONALID = 'F79575E5-FE4F-47BD-954C-AB056EF109D9';
if @INCLUDEGENERALPURPOSEPROCESSES = 1
set @GENERALPURPOSEID = '5066A489-6282-400C-96AF-1ECC1B7F281F';
if @INCLUDESTATUSPROCESSES = 1
set @STATUSID = '8C3ECDB1-BE50-4898-AD1B-98ECB6D07812';
if @MONITORAVGORMAX = 0
begin
select @VALUE = max(datediff(s, BPS.STARTEDON, coalesce(BPS.ENDEDON, getdate())))
from dbo.BUSINESSPROCESSSTATUS as BPS
inner join dbo.GLOBALCHANGESTATUS as STATUS on STATUS.ID = BPS.ID
inner join dbo.GLOBALCHANGE as GC on GC.ID = STATUS.PARAMETERSETID
inner join dbo.GLOBALCHANGECATALOG as GCC on GCC.ID = GC.GLOBALCHANGECATALOGID and GCC.ID in(@TRANSACTIONALID, @GENERALPURPOSEID, @STATUSID)
where BPS.STARTEDON <= @ASOFDATE;
end
else
begin
select @VALUE = avg(cast(datediff(s, BPS.STARTEDON, coalesce(BPS.ENDEDON, getdate())) as decimal(20,4)))
from dbo.BUSINESSPROCESSSTATUS as BPS
inner join dbo.GLOBALCHANGESTATUS as STATUS on STATUS.ID = BPS.ID
inner join dbo.GLOBALCHANGE as GC on GC.ID = STATUS.PARAMETERSETID
inner join dbo.GLOBALCHANGECATALOG as GCC on GCC.ID = GC.GLOBALCHANGECATALOGID and GCC.ID in(@TRANSACTIONALID, @GENERALPURPOSEID, @STATUSID)
where BPS.STARTEDON <= @ASOFDATE;
end
end