UFN_GIFTAID_GETTAXCLAIMAMOUNTINCURRENCY
Returns the tax claim amount in the given currency.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUESPLITID | uniqueidentifier | IN | |
@TRANSACTIONTYPECODE | tinyint | IN | |
@APPLICATIONCODE | tinyint | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_GIFTAID_GETTAXCLAIMAMOUNTINCURRENCY (
@REVENUESPLITID uniqueidentifier,
@TRANSACTIONTYPECODE tinyint,
@APPLICATIONCODE tinyint,
@CURRENCYID uniqueidentifier
)
returns money
as
begin
declare @AMOUNT money = 0;
if (@CURRENCYID is null) or (@CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY())
set @AMOUNT = dbo.UFN_REVENUESPLIT_GETTAXCLAIMAMOUNT_2(@REVENUESPLITID, @TRANSACTIONTYPECODE, @APPLICATIONCODE, 2)
else
begin
declare @RECORDBASECURRENCYID uniqueidentifier;
declare @RECORDDATE datetime;
select
@RECORDBASECURRENCYID = REVENUESPLIT.BASECURRENCYID,
@RECORDDATE = REVENUESPLIT.DATEADDED
from
dbo.REVENUESPLIT
where
REVENUESPLIT.ID = @REVENUESPLITID;
if @CURRENCYID = @RECORDBASECURRENCYID
set @AMOUNT = dbo.UFN_REVENUESPLIT_GETTAXCLAIMAMOUNT_2(@REVENUESPLITID, @TRANSACTIONTYPECODE, @APPLICATIONCODE, 0)
else
begin
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
set @AMOUNT = dbo.UFN_REVENUESPLIT_GETTAXCLAIMAMOUNT_2(@REVENUESPLITID, @TRANSACTIONTYPECODE, @APPLICATIONCODE, 2)
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @CURRENCYID, @RECORDDATE, 1, null);
if (@CURRENCYEXCHANGERATEID is not null)
set @AMOUNT = dbo.UFN_CURRENCY_CONVERT(@AMOUNT, @CURRENCYEXCHANGERATEID)
else
begin
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(@CURRENCYID, dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @RECORDDATE, 1, null);
set @AMOUNT = dbo.UFN_CURRENCY_CONVERTINVERSE(@AMOUNT, @CURRENCYEXCHANGERATEID)
end
end
end
return @AMOUNT;
end