UFN_REVENUE_GETSPLITBYROWNUMBER
This function returns a table of splits for a given revenue detail ordered by amount.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@ROWTORETURN | int | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUE_GETSPLITBYROWNUMBER
(
@REVENUEID uniqueidentifier,
@ROWTORETURN int
)
returns table
as
return
select
DESIGNATION.ID as DESIGNATIONID,
DESIGNATIONLEVEL.NAME as DESIGNATIONNAME,
case len(DESIGNATION.VANITYNAME)
when 0 then DESIGNATIONLEVEL.NAME
else DESIGNATION.VANITYNAME
end as DESIGNATIONPUBLICNAME,
DESIGNATION.USERID as DESIGNATIONLOOKUPID,
SPLITS.TRANSACTIONAMOUNT as AMOUNT,
SPLITS.APPLICATION,
DESIGNATIONADMINISTRATOR.NAME as DESIGNATIONADMINISTRATOR,
SPLITS.ID,
MEMBERSHIPPROGRAM.NAME as MEMBERSHIPPROGRAM,
MEMBERSHIPLEVEL.NAME as MEMBERSHIPLEVEL,
MEMBERSHIPTRANSACTION.EXPIRATIONDATE as MEMBERSHIPEXPIRATIONDATE,
PLEDGECONSTITUENT.NAME as PLEDGECONSTITUENT,
PLEDGE.TRANSACTIONAMOUNT as PLEDGEAMOUNT,
cast(PLEDGE.DATE as datetime) as PLEDGEDATE,
case
when PLEDGE.ID is not null then dbo.UFN_PLEDGE_GETBALANCE(PLEDGE.ID)
else null
end as PLEDGEBALANCE,
PLEDGE.TRANSACTIONCURRENCYID as PLEDGETRANSACTIONCURRENCYID
from
(
select
row_number() over (order by SPLIT.BASEAMOUNT desc) as ROWNUMBER,
SPLIT.BASEAMOUNT as AMOUNT,
SPLIT_EXT.APPLICATION,
SPLIT.ID,
SPLIT_EXT.DESIGNATIONID,
SPLIT.TRANSACTIONAMOUNT
from dbo.FINANCIALTRANSACTIONLINEITEM SPLIT
inner join dbo.REVENUESPLIT_EXT SPLIT_EXT on SPLIT.ID = SPLIT_EXT.ID
where
SPLIT.FINANCIALTRANSACTIONID = @REVENUEID
and SPLIT.TYPECODE <> 1
and SPLIT.DELETEDON is null
) as SPLITS
left join dbo.DESIGNATION on SPLITS.DESIGNATIONID = DESIGNATION.ID
left join dbo.DESIGNATIONLEVEL on coalesce(DESIGNATION.DESIGNATIONLEVEL5ID,DESIGNATION.DESIGNATIONLEVEL4ID,DESIGNATION.DESIGNATIONLEVEL3ID,DESIGNATION.DESIGNATIONLEVEL2ID,DESIGNATION.DESIGNATIONLEVEL1ID) = DESIGNATIONLEVEL.ID
left join dbo.CONSTITUENT DESIGNATIONADMINISTRATOR on DESIGNATIONLEVEL.ADMINISTRATORID = DESIGNATIONADMINISTRATOR.ID
left join dbo.MEMBERSHIPTRANSACTION on SPLITS.ID = MEMBERSHIPTRANSACTION.REVENUESPLITID
left join dbo.MEMBERSHIP on MEMBERSHIP.ID = MEMBERSHIPTRANSACTION.MEMBERSHIPID
left join dbo.MEMBERSHIPPROGRAM on MEMBERSHIPPROGRAM.ID = MEMBERSHIP.MEMBERSHIPPROGRAMID
left join dbo.MEMBERSHIPLEVEL on MEMBERSHIPLEVEL.ID = MEMBERSHIPTRANSACTION.MEMBERSHIPLEVELID
left join dbo.INSTALLMENTSPLITPAYMENT on SPLITS.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
left join dbo.FINANCIALTRANSACTION PLEDGE on INSTALLMENTSPLITPAYMENT.PLEDGEID = PLEDGE.ID
left join dbo.CONSTITUENT PLEDGECONSTITUENT on PLEDGE.CONSTITUENTID = PLEDGECONSTITUENT.ID
where
@ROWTORETURN = ROWNUMBER
and PLEDGE.DELETEDON is null