UFN_MEMBERSHIP_WITHRENEWALWINDOW_GETNOLONGERACTIVEDATES
Return
Return Type |
---|
table |
Definition
Copy
CREATE function dbo.UFN_MEMBERSHIP_WITHRENEWALWINDOW_GETNOLONGERACTIVEDATES()
returns table as return
(
--Get the total 'Active' post-expiration renewal window for each membership level, then add it to the expiration date of each membership transaction for that level.
with ACTIVERENEWALRULES as
(
select
ml.ID MEMBERSHIPLEVELID,
sum(coalesce(INTERVALCODE + 1, 0)) as TOTALACTIVEWINDOWMONTHS
from dbo.MEMBERSHIPLEVEL ml
left join dbo.MEMBERSHIPLEVELRENEWAL mlr on mlr.MEMBERSHIPLEVELID = ml.ID and STATUSCODE = 0
group by ml.ID
)
select mt.MEMBERSHIPID
, mt.EXPIRATIONDATE
, dateadd(month, arr.TOTALACTIVEWINDOWMONTHS, mt.EXPIRATIONDATE) as NOLONGERACTIVEDATE
, mt.ID MEMBERSHIPTRANSACTIONID
from dbo.MEMBERSHIPTRANSACTION mt
left join ACTIVERENEWALRULES arr on arr.MEMBERSHIPLEVELID = mt.MEMBERSHIPLEVELID
)