UFN_GIFTAIDREVENUESPLIT_GETSPLITTAXCLAIMAMOUNT_INCURRENCY
Returns the tax claim amount from the REVENUESPLITGIFTAID record with the given ID.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@ACTUALONLY | bit | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_GIFTAIDREVENUESPLIT_GETSPLITTAXCLAIMAMOUNT_INCURRENCY
(
@ID uniqueidentifier,
@ACTUALONLY bit,
@CURRENCYID uniqueidentifier
)
returns money
with execute as caller
as
begin
declare @TAXCLAIMAMOUNT money = 0;
if (@CURRENCYID is null) or (@CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY())
begin
select @TAXCLAIMAMOUNT = TAXCLAIMAMOUNT
from dbo.UFN_REVENUESPLITGIFTAID_GETELIGIBLE_2(@ACTUALONLY,2)
where ID = @ID;
end
else
begin
declare @RECORDBASECURRENCYID uniqueidentifier;
declare @RECORDDATE datetime;
select
@RECORDBASECURRENCYID = REVENUESPLIT.BASECURRENCYID,
@RECORDDATE = REVENUE.DATE
from dbo.REVENUESPLIT
inner join dbo.REVENUE on REVENUE.ID = REVENUESPLIT.REVENUEID
where
REVENUESPLIT.ID = @ID;
if @CURRENCYID = @RECORDBASECURRENCYID
begin
select @TAXCLAIMAMOUNT = TAXCLAIMAMOUNT
from dbo.UFN_REVENUESPLITGIFTAID_GETELIGIBLE_2(@ACTUALONLY,0)
where ID = @ID;
end
else
begin
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @CURRENCYID, @RECORDDATE, 1, null);
if (@CURRENCYEXCHANGERATEID is not null)
begin
select
@TAXCLAIMAMOUNT = dbo.UFN_CURRENCY_CONVERT(TAXCLAIMAMOUNT, @CURRENCYEXCHANGERATEID)
from dbo.UFN_REVENUESPLITGIFTAID_GETELIGIBLE_2(@ACTUALONLY,2)
where ID = @ID;
end
else
begin
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(@CURRENCYID, dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @RECORDDATE, 1, null);
select
@TAXCLAIMAMOUNT = dbo.UFN_CURRENCY_CONVERTINVERSE(TAXCLAIMAMOUNT, @CURRENCYEXCHANGERATEID)
from dbo.UFN_REVENUESPLITGIFTAID_GETELIGIBLE_2(@ACTUALONLY,2)
where ID = @ID;
end
end
end
if @TAXCLAIMAMOUNT is null
return 0;
return @TAXCLAIMAMOUNT;
end