UFN_RECURRINGGIFT_GETNEXTINSTALLMENTINFO
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@ASOFDATE | date | IN |
Definition
Copy
CREATE function dbo.UFN_RECURRINGGIFT_GETNEXTINSTALLMENTINFO(
@REVENUEID uniqueidentifier,
@ASOFDATE date
)
returns table
as
return (
select top 1 i.ID, i.DATE, i.BALANCE
from dbo.V_RECURRINGGIFTINSTALLMENT i
cross apply dbo.UFN_RECURRINGGIFTSETTING_GETCURRENT() s
cross apply (select isnull(@ASOFDATE,cast(getdate() as date)) EFFECTIVEDATE) d
where i.REVENUEID = @REVENUEID
and i.STATUSCODE in(0,1)
and (i.DATE >= isnull(@ASOFDATE,i.DATE) or s.FIRSTINSTALLMENTCODE = 1)
order by case when i.DATE <= d.EFFECTIVEDATE then 1 else 2 end, -- today/past, then future
case when i.DATE > d.EFFECTIVEDATE or s.FIRSTINSTALLMENTCODE = 0 then i.DATE end, -- date asc if appropriate (past installments by rule, future installments always)
case when i.DATE <= d.EFFECTIVEDATE and s.FIRSTINSTALLMENTCODE = 1 then i.DATE end desc -- date desc if appropriate
)