UFN_CONSTITUENTRECOGNITION_CALCULATEEXPIRATIONDATE
Return
Return Type |
---|
datetime |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@RECOGNITIONPROGRAMID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN |
Definition
Copy
create function dbo.UFN_CONSTITUENTRECOGNITION_CALCULATEEXPIRATIONDATE
(
@RECOGNITIONPROGRAMID uniqueidentifier,
@STARTDATE datetime
)
returns datetime
as
begin
declare @CUTOFFDATEFORYEAR char(4)
declare @EXPIRATIONDATE datetime
declare @MONTH nvarchar(2)
declare @DAY nvarchar(2)
declare @BACKDATEMEMBERSHIPS bit
select
@CUTOFFDATEFORYEAR = CUTOFFDATEFORYEAR,
@BACKDATEMEMBERSHIPS = BACKDATEMEMBERSHIPS
from dbo.RECOGNITIONPROGRAM
where ID = @RECOGNITIONPROGRAMID;
set @EXPIRATIONDATE = dbo.UFN_DATE_THISCALENDARYEAR_LASTDAY(@STARTDATE,1)
-- If set expiration enabled
if @BACKDATEMEMBERSHIPS =1
begin
set @MONTH = SUBSTRING(@CUTOFFDATEFORYEAR,1,2)
set @DAY = SUBSTRING(@CUTOFFDATEFORYEAR,3,2)
if @MONTH < MONTH(@STARTDATE)
set @EXPIRATIONDATE = dateadd(year, 1, @EXPIRATIONDATE)
else if @MONTH = MONTH(@STARTDATE) and @DAY <= DAY(@STARTDATE)
set @EXPIRATIONDATE = dateadd(year, 1, @EXPIRATIONDATE)
end
return @EXPIRATIONDATE
end