UFN_MEMBERSHIPPROGRAM_GETLIFETIMEPAYMENTOPTIONS
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PROGRAMID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_MEMBERSHIPPROGRAM_GETLIFETIMEPAYMENTOPTIONS(
@PROGRAMID uniqueidentifier
)
returns table
as return
(
select
MEMBERSHIPPROGRAMID
,LIFETIMENUMBEROFPAYMENTS
,LIFETIMEPAYMENTOPTIONCODE
,LIFETIMEPAYMENTOPTION
,ISACTIVE
,SEQUENCE = row_number() over (order by LOGICAL_SEQUENCE) - 1
,INUSE
from (
select distinct
MEMBERSHIPPROGRAMID = MP.ID
,LIFETIMENUMBEROFPAYMENTS = MLT.LIFETIMENUMBEROFPAYMENTS
,LIFETIMEPAYMENTOPTIONCODE = MLT.LIFETIMEPAYMENTOPTIONCODE
,LIFETIMEPAYMENTOPTION = MLT.LIFETIMEPAYMENTOPTION
,LOGICAL_SEQUENCE = (min(MLT.SEQUENCE) over( partition by LIFETIMENUMBEROFPAYMENTS, LIFETIMEPAYMENTOPTIONCODE))
,ISACTIVE = (max(cast(MLT.ISACTIVE as smallint)) over( partition by LIFETIMENUMBEROFPAYMENTS, LIFETIMEPAYMENTOPTIONCODE))
,INUSE = (max(cast(dbo.UFN_MEMBERSHIPLEVELTERM_INUSE(MLT.ID) as smallint)) over ( partition by LIFETIMENUMBEROFPAYMENTS, LIFETIMEPAYMENTOPTIONCODE))
from
MEMBERSHIPPROGRAM MP
inner join MEMBERSHIPLEVEL ML on MP.ID = ML.MEMBERSHIPPROGRAMID
inner join MEMBERSHIPLEVELTERM MLT on ML.ID = MLT.LEVELID
where MP.ID = @PROGRAMID and MP.PROGRAMTYPECODE = 2) a
)