UFN_REMINDER_GETNEXTINSTALLMENTDATE

Returns the next installment date for a recurring gift.

Return

Return Type
datetime

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@TRANSACTIONTYPECODE tinyint IN
@ASOFDATE datetime IN

Definition

Copy


CREATE function dbo.UFN_REMINDER_GETNEXTINSTALLMENTDATE(
@REVENUEID uniqueidentifier,
@TRANSACTIONTYPECODE tinyint,
@ASOFDATE datetime
)
returns datetime
with execute as caller
as begin
declare @NEXTINSTALLMENTDATE datetime
declare @REMINDERSENTDATE datetime

set @REMINDERSENTDATE = dbo.UFN_REMINDER_GETLASTREMINDERSENTDATE(@REVENUEID,@TRANSACTIONTYPECODE)
if @TRANSACTIONTYPECODE = 2
begin
    select @NEXTINSTALLMENTDATE = min(RECURRINGGIFTINSTALLMENT.DATE
  from dbo.RECURRINGGIFTINSTALLMENT 
  where REVENUEID = @REVENUEID 
  and dbo.UFN_RECURRINGGIFTINSTALLMENT_GETINSTALLMENTBALANCE(ID) > 0 
  and (DATE > @REMINDERSENTDATE or @REMINDERSENTDATE is null)
  and DATE <= @ASOFDATE 

  return @NEXTINSTALLMENTDATE
end

select @NEXTINSTALLMENTDATE = min(INSTALLMENT.DATE)
from dbo.INSTALLMENT 
where REVENUEID = @REVENUEID 
and dbo.UFN_INSTALLMENT_GETINSTALLMENTBALANCE(ID) > 0 
and (DATE > @REMINDERSENTDATE or @REMINDERSENTDATE is null)
and DATE <= @ASOFDATE 

return @NEXTINSTALLMENTDATE


end