USP_DATALIST_EMAILJOBSPROCESSED
Return email job processed.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SPECIFICDATE | datetime | IN | Specific date |
@STATUSCODE | tinyint | IN | Status code |
@FILTERMODE | tinyint | IN | Select option |
@SELECTEDWEEK | tinyint | IN | Select a week |
@SELECTEDMONTH | int | IN | Specific month/year |
@SELECTEDYEAR | int | IN | |
@ISINCLUDEGENERALPURPOSEEMAILJOBS | bit | IN | General purpose email jobs processed |
@ISINCLUDETRANSACTIONALEMAILJOBS | bit | IN | Transactional email jobs processed |
Definition
Copy
create procedure dbo.USP_DATALIST_EMAILJOBSPROCESSED
(
@SPECIFICDATE datetime = null
,@STATUSCODE tinyint = 2 --2: Complete/Processed job
,@FILTERMODE tinyint = 0 --0: Today mode ,1: Specific day mode, 2: Week/Month/Year
,@SELECTEDWEEK tinyint = 0 --0:All weeks of selected month, 1:First week, 2:Second week, 3:Third week, 4:Fourth week
,@SELECTEDMONTH integer = 0 --00:All months of selected year, 01: Jan, 02: Feb ....12: Dec
,@SELECTEDYEAR integer = 2011 --Year drop down
,@ISINCLUDEGENERALPURPOSEEMAILJOBS bit = 1
,@ISINCLUDETRANSACTIONALEMAILJOBS bit = 1
)
as
set nocount on;
declare @ALLEMAILJOBSTEMPTABLE as TABLE (ID int IDENTITY PRIMARY KEY, DATECHANGED datetime, TIMECHANGED varchar(25), NUMOFTRANSACTIONALEMAILJOBS integer, NUMOFGENERALPURPOSEEMAILJOBS integer)
declare @tempjobstatusname nvarchar(100) = ''
,@transactionalnumofemailjobs integer = 0
,@generalpurposenumofemailjobs integer = 0
declare @STRSTARTDATE varchar(25) = null
,@STRENDDATE varchar(25) = null
,@STARTDATE datetime = null
,@ENDDATE datetime = null
,@TEMPDATE varchar(25) = null
if @SPECIFICDATE is null
begin
set @SPECIFICDATE = getdate()
end
set @SELECTEDWEEK = 0
if @FILTERMODE = 2
begin
declare @FIRSTDAYOFMONTH datetime = null
,@LASTDAYOFMONTH datetime = null
,@TOTALDAYOFMONTH integer = 0
,@DAYCOUNTER integer = 0
,@DAYNAME varchar(25) = ''
,@STRSELECTEDMONTH varchar(3) = '00'
,@STRSELECTEDYEAR varchar(5) = convert(varchar(5),@SELECTEDYEAR)
select @STRSELECTEDMONTH = (case @SELECTEDMONTH
when 0 then '00'
when 1 then '01'
when 2 then '02'
when 3 then '03'
when 4 then '04'
when 5 then '05'
when 6 then '06'
when 7 then '07'
when 8 then '08'
when 9 then '09'
when 10 then '10'
when 11 then '11'
when 12 then '12' end)
if @STRSELECTEDMONTH = '00' and @SELECTEDWEEK = 0 --Yearly report
begin
--Yearly report will show total of 12 month period
----Jan
set @TEMPDATE = @STRSELECTEDYEAR + '0115 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
set @DAYNAME = LEFT(convert(varchar(12),@STARTDATE,113),LEN(convert(varchar(12),@STARTDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@STARTDATE,@DAYNAME,0,0)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'Jan' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----Feb
set @TEMPDATE = @STRSELECTEDYEAR + '0215 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'Feb' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----March
set @TEMPDATE = @STRSELECTEDYEAR + '0315 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
--select @STARTDATE AS STARTDATE, @ENDDATE AS ENDDATE
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'March' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----April
set @TEMPDATE = @STRSELECTEDYEAR + '0415 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'April' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----May
set @TEMPDATE = @STRSELECTEDYEAR + '0515 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'May' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----June
set @TEMPDATE = @STRSELECTEDYEAR + '0615 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'June' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----July
set @TEMPDATE = @STRSELECTEDYEAR + '0715 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'July' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----Aug
set @TEMPDATE = @STRSELECTEDYEAR + '0815 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'August' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----Sep
set @TEMPDATE = @STRSELECTEDYEAR + '0915 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'Sep' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----Oct
set @TEMPDATE = @STRSELECTEDYEAR + '1015 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'Oct' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----Nov
set @TEMPDATE = @STRSELECTEDYEAR + '1115 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'Nov' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
----Dec
set @TEMPDATE = @STRSELECTEDYEAR + '1215 00:00:00.000'
set @STRSTARTDATE = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @STRENDDATE = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @DAYNAME = 'Dec' --LEFT(convert(varchar(12),@ENDDATE,113),LEN(convert(varchar(12),@ENDDATE,113)) - 5)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
end
else if @SELECTEDWEEK = 0 --Monthly report
begin
set @TEMPDATE = @STRSELECTEDYEAR + @STRSELECTEDMONTH + '15 00:00:00.000'
set @FIRSTDAYOFMONTH = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @LASTDAYOFMONTH = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
set @TOTALDAYOFMONTH = DATEDIFF(D,@FIRSTDAYOFMONTH,@LASTDAYOFMONTH)
set @STARTDATE = @FIRSTDAYOFMONTH
while (@DAYCOUNTER <= @TOTALDAYOFMONTH)
begin
set @ENDDATE = DATEADD(dd,+@DAYCOUNTER,@FIRSTDAYOFMONTH)
set @DAYNAME = @DAYCOUNTER+1
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
set @STARTDATE = @ENDDATE
set @DAYCOUNTER = @DAYCOUNTER + 1
end
end
/*else if @SELECTEDWEEK > 0 --Weekly report, not available for now, will expose if client requests
begin
--Weekly report will show report of 7 days period
set @TEMPDATE = @STRSELECTEDYEAR + @STRSELECTEDMONTH + '15 00:00:00.000'
set @FIRSTDAYOFMONTH = DATEADD(m, DATEDIFF(m,0,@TEMPDATE), 0)
set @LASTDAYOFMONTH = DATEADD(dd,-1,DATEADD(m,0,DATEADD(m,DATEDIFF(m,0,@TEMPDATE)+1,0)))
if @SELECTEDWEEK = 1
set @STARTDATE = @FIRSTDAYOFMONTH
else if @SELECTEDWEEK = 2
set @STARTDATE = DATEADD(dd,+8,@FIRSTDAYOFMONTH)
else if @SELECTEDWEEK = 3
set @STARTDATE = DATEADD(dd,+15,@FIRSTDAYOFMONTH)
else if @SELECTEDWEEK = 4
set @STARTDATE = DATEADD(dd,+22,@FIRSTDAYOFMONTH)
--set @ENDDATE = DATEADD(dd,+1,@STARTDATE)
set @ENDDATE = @STARTDATE
set @DAYCOUNTER = 0
while (@DAYCOUNTER <= 7)
begin
set @DAYNAME = convert(varchar(12),@ENDDATE,111)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,@DAYNAME,@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
set @ENDDATE = DATEADD(dd,+1,@STARTDATE)
set @STARTDATE = @ENDDATE
set @DAYCOUNTER = @DAYCOUNTER + 1
end
end */
select
DATECHANGED
,TIMECHANGED
,case when @ISINCLUDETRANSACTIONALEMAILJOBS = 0 then null else NUMOFTRANSACTIONALEMAILJOBS end as NUMOFTRANSACTIONALEMAILJOBS
,case when @ISINCLUDEGENERALPURPOSEEMAILJOBS = 0 then null else NUMOFGENERALPURPOSEEMAILJOBS end as NUMOFGENERALPURPOSEEMAILJOBS
from @ALLEMAILJOBSTEMPTABLE
end
else --@FILTERMODE = 0 OR @FILTERMODE = 1
begin
if @FILTERMODE = 0
begin
--Current day
--set @STARTDATE = GETDATE() --'20110101 00:00:00.000' --convert(char(10),'01/01/2011',100)
--set @ENDDATE = GETDATE() --'20111231 23:59:00.000' --convert(char(10),'12/31/2011',100)
--0 to 6AM
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 00:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 06:00:00.000'
end
else if @FILTERMODE = 1
begin
--0 to 6AM
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 00:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 06:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@STARTDATE,'0',0,0)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'6AM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--6AM to 8AM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 06:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 08:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 06:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 08:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'8AM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--8AM to 10AM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 08:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 10:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 08:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 10:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'10AM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--10AM to 12PM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 10:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 12:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 10:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 12:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'12PM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--12PM to 2PM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 12:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 14:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 12:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 14:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'2PM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--2PM to 4PM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 14:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 16:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 14:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 16:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'4PM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--4PM to 6PM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 16:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 18:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 16:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 18:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'6PM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--6PM to 8PM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 18:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 20:00:00.000'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 18:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 20:00:00.000'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'8PM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
--8PM to 11:59:00.000PM
if @FILTERMODE = 0
begin
set @STRSTARTDATE = replace(convert(varchar, getdate(),111),'/','') + ' 20:00:00.000'
set @STRENDDATE = replace(convert(varchar, getdate(),111),'/','') + ' 23:58:59.999'
end
else if @FILTERMODE = 1
begin
set @STRSTARTDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 20:00:00.000'
set @STRENDDATE = replace(convert(varchar, @SPECIFICDATE,111),'/','') + ' 23:58:59.999'
end
set @STARTDATE = convert(DATETIME,@STRSTARTDATE)
set @ENDDATE = convert(DATETIME, @STRENDDATE)
----Transactional and General purpose email jobs - StatusCode = 2: Completed jobs
set @transactionalnumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,1)
set @generalpurposenumofemailjobs = dbo.UFN_GET_EMAILPROCESS_JOBSTATUS(@STATUSCODE,@STARTDATE,@ENDDATE,0)
INSERT INTO @ALLEMAILJOBSTEMPTABLE(DATECHANGED, TIMECHANGED,NUMOFTRANSACTIONALEMAILJOBS, NUMOFGENERALPURPOSEEMAILJOBS)
VALUES(@ENDDATE,'12AM',@transactionalnumofemailjobs,@generalpurposenumofemailjobs)
select
DATECHANGED
,TIMECHANGED
,case when @ISINCLUDETRANSACTIONALEMAILJOBS = 0 then null else NUMOFTRANSACTIONALEMAILJOBS end as NUMOFTRANSACTIONALEMAILJOBS
,case when @ISINCLUDEGENERALPURPOSEEMAILJOBS = 0 then null else NUMOFGENERALPURPOSEEMAILJOBS end as NUMOFGENERALPURPOSEEMAILJOBS
from @ALLEMAILJOBSTEMPTABLE
end