UFN_RECOGNITIONCREDIT_GETTAXCLAIMAMOUNTINCURRENCY
Returns the gift aid amount for a recognition credit in the given currency.
Return
| Return Type |
|---|
| money |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @REVENUESPLITID | uniqueidentifier | IN | |
| @REVENUESPLITAMOUNT | money | IN | |
| @RECOGNITIONAMOUNT | money | IN | |
| @TRANSACTIONTYPECODE | tinyint | IN | |
| @APPLICATIONCODE | tinyint | IN | |
| @CURRENCYID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_RECOGNITIONCREDIT_GETTAXCLAIMAMOUNTINCURRENCY
(
@REVENUESPLITID uniqueidentifier,
@REVENUESPLITAMOUNT money,
@RECOGNITIONAMOUNT money,
@TRANSACTIONTYPECODE tinyint,
@APPLICATIONCODE tinyint,
@CURRENCYID uniqueidentifier
)
returns money
as
begin
declare @REVENUESPLITTAXCLAIMAMOUNT money = 0;
set @REVENUESPLITTAXCLAIMAMOUNT = dbo.UFN_GIFTAID_GETTAXCLAIMAMOUNTINCURRENCY(@REVENUESPLITID, @TRANSACTIONTYPECODE, @APPLICATIONCODE, @CURRENCYID)
declare @RECOGNITIONTAXCLAIMAMOUNT money
if @RECOGNITIONAMOUNT >= @REVENUESPLITAMOUNT
set @RECOGNITIONTAXCLAIMAMOUNT = @REVENUESPLITTAXCLAIMAMOUNT
else
begin
-- Calculate the recognition tax claim amount based on the ratio of the revenue split's amount to the recognition's amount
-- Cast @RECOGNITIONAMOUNT to a decimal(20, 10) so @RATIO has its full precision.
declare @RATIO decimal(20, 10)
set @RATIO = 0
if @REVENUESPLITAMOUNT > 0
set @RATIO = cast(@RECOGNITIONAMOUNT as decimal(20, 10)) / @REVENUESPLITAMOUNT
set @RECOGNITIONTAXCLAIMAMOUNT = @RATIO * @REVENUESPLITTAXCLAIMAMOUNT
end
return @RECOGNITIONTAXCLAIMAMOUNT
end