USP_KPI_EMAILPROCESS_STATUS

Parameters

Parameter Parameter Type Mode Description
@VALUE int INOUT
@ASOFDATE datetime IN
@INCLUDETRANSACTIONALPROCESSES bit IN
@INCLUDEGENERALPURPOSEPROCESSES bit IN
@INCLUDESTATUSPROCESSES bit IN

Definition

Copy

          create procedure dbo.USP_KPI_EMAILPROCESS_STATUS(
              @VALUE integer output
              @ASOFDATE datetime,
            @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';

            declare @HEALTHYPROCESS integer;
            declare @TOTALPROCESS integer;



            select @HEALTHYPROCESS = COUNT(*)
              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.STATUSCODE <> 2 and BPS.STARTEDON <= @ASOFDATE;

            select @TOTALPROCESS = COUNT(*)
              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;


            set @VALUE = @TOTALPROCESS - @HEALTHYPROCESS;

            if @VALUE < 0
              set @VALUE = 0;

            --if @TOTALPROCESS <> 0

              --set @VALUE = (cast(@HEATHLYPROCESS as decimal(20,4)) / cast(@TOTALPROCESS as decimal(20,4)));

            --else

              --set @VALUE = 1;

          end