UFN_DESIGNATION_REVENUERECEIVED
This function returns revenue received for designations.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN |
Definition
Copy
CREATE function dbo.UFN_DESIGNATION_REVENUERECEIVED
(@STARTDATE datetime, @ENDDATE datetime)
returns @REVENUEINFO table
(
DESIGNATIONID uniqueidentifier NOT NULL PRIMARY KEY CLUSTERED,
TOTALRECEIVED money NOT NULL
)
as
begin
select @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
@ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);
insert @REVENUEINFO
select D.ID,
sum(RS.AMOUNT)
from dbo.DESIGNATION D
inner join dbo.DESIGNATION D2 on (D.DESIGNATIONLEVEL1ID = D2.DESIGNATIONLEVEL1ID
and (D.DESIGNATIONLEVEL2ID = D2.DESIGNATIONLEVEL2ID or D.DESIGNATIONLEVEL2ID is null)
and (D.DESIGNATIONLEVEL3ID = D2.DESIGNATIONLEVEL3ID or D.DESIGNATIONLEVEL3ID is null)
and (D.DESIGNATIONLEVEL4ID = D2.DESIGNATIONLEVEL4ID or D.DESIGNATIONLEVEL4ID is null)
and (D.DESIGNATIONLEVEL5ID = D2.DESIGNATIONLEVEL5ID or D.DESIGNATIONLEVEL5ID is null))
inner join dbo.REVENUESPLIT RS on RS.DESIGNATIONID = D2.ID
inner join dbo.REVENUE R on RS.REVENUEID = R.ID
where
(R.DATE >= @STARTDATE or @STARTDATE is null) and
(R.DATE <= @ENDDATE or @ENDDATE is null) and
R.TRANSACTIONTYPECODE = 0 and
(RS.APPLICATIONCODE in (0,3,6,7,10,13) or (RS.APPLICATIONCODE = 1 and RS.TYPECODE = 0)) and
(RS.APPLICATIONCODE <> 10 or RS.TYPECODE = 0)
group by D.ID
return
end