UFN_MEMBER_CHANNELRAISEDBYAPPEAL
Creates a table of appeals, and the associated revenue information filtered by channel.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN |
Definition
Copy
CREATE function dbo.UFN_MEMBER_CHANNELRAISEDBYAPPEAL
(@STARTDATE datetime, @ENDDATE datetime)
returns @CHANNELREVENUEINFO table
(
APPEALID uniqueidentifier NOT NULL,
CHANNELCODE uniqueidentifier NOT NULL,
CHANNELTOTALRECEIVED money NOT NULL
)
as
begin
select @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
@ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);
insert into @CHANNELREVENUEINFO
select R.APPEALID, coalesce(R.CHANNELCODEID, '00000000-0000-0000-0000-000000000000') CHANNELCODE, coalesce(sum(RS.AMOUNT), 0) CHANNELTOTALRECEIVED
from dbo.REVENUESPLIT RS
inner join dbo.REVENUE R on R.ID = RS.REVENUEID
inner join dbo.MEMBER M on M.CONSTITUENTID = R.constituentid
inner join dbo.APPEAL A on A.ID = R.APPEALID
inner join dbo.MEMBERSHIP MS on A.MEMBERSHIPPROGRAMID = MS.MEMBERSHIPPROGRAMID
where (R.APPEALID is not null) and (R.DATE >= @STARTDATE or @STARTDATE is null) and
(R.DATE <= @ENDDATE or @ENDDATE is null) and
(R.TRANSACTIONTYPECODE = 0) and
(MS.ID = M.MEMBERSHIPID)
group by R.APPEALID,R.CHANNELCODEID
return;
end