UFN_DESIGNATION_RAISEDBYAPPEALNODESNAME_INCURRENCY
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function [dbo].[UFN_DESIGNATION_RAISEDBYAPPEALNODESNAME_INCURRENCY]
(@STARTDATE datetime, @ENDDATE datetime, @CURRENCYID uniqueidentifier = null)
returns @REVENUEINFO table
(
APPEALID uniqueidentifier NOT NULL,
DESID uniqueidentifier NOT NULL,
DESTOTALRECEIVED money NOT NULL
)
as
begin
select
@STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
@ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);
declare @ORGANIZATIONCURRENCY uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @CURRENCYCODE tinyint;
declare @DECIMALDIGITS tinyint;
declare @ROUNDINGTYPECODE tinyint;
if @CURRENCYID is null
set @CURRENCYCODE = 0; -- Use the appeal's base currency
else if @CURRENCYID = @ORGANIZATIONCURRENCY
set @CURRENCYCODE = 1; -- Use the organization currency
else
set @CURRENCYCODE = 3; -- Use the currency specified
if @CURRENCYCODE = 3
select
@DECIMALDIGITS = DECIMALDIGITS,
@ROUNDINGTYPECODE = ROUNDINGTYPECODE
from
dbo.UFN_CURRENCY_GETPROPERTIES(@CURRENCYID)
insert into @REVENUEINFO
select
APPEALREVENUESPLIT.APPEALID APPEALID,
APPEALREVENUESPLIT.DESIGNATIONID DESID,
isnull(sum(APPEALREVENUESPLIT.REVENUESPLITAMOUNTINCURRENCY),0) DESTOTALRECEIVED
from
dbo.UFN_APPEALREVENUESPLIT_GETAMOUNTSINCURRENCYNODESNAMENOGIFTAID_BULK(@CURRENCYID, @ORGANIZATIONCURRENCY, @DECIMALDIGITS, @ROUNDINGTYPECODE, @CURRENCYCODE) APPEALREVENUESPLIT
where (APPEALREVENUESPLIT.APPEALID is not null) and
(APPEALREVENUESPLIT.DATE >= @STARTDATE or @STARTDATE is null) and
(APPEALREVENUESPLIT.DATE <= @ENDDATE or @ENDDATE is null) and
APPEALREVENUESPLIT.TRANSACTIONTYPECODE = 0 and
APPEALREVENUESPLIT.DESIGNATIONID is not null
group by APPEALREVENUESPLIT.APPEALID, APPEALREVENUESPLIT.DESIGNATIONID;
return;
end