UFN_PLANNEDGIFT_GETORGANIZATIONREALIZEDAMOUNT
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_PLANNEDGIFT_GETORGANIZATIONREALIZEDAMOUNT
(
@ID uniqueidentifier
)
returns money
with execute as caller
as
begin
declare @ORGANIZATIONREALIZEDAMOUNT money;
set @ORGANIZATIONREALIZEDAMOUNT = 0;
if(dbo.UFN_PLANNEDGIFT_AUTOCALCULATE_REALIZEDAMOUNT(@ID) = 1)
begin
-- Get the result of the calculation in transaction currency,
-- then convert it to organization currency.
declare @TRANSACTIONREALIZEDAMOUNT money;
declare @DATE datetime;
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @TRANSACTIONCURRENCYID uniqueidentifier;
declare @BASEREALIZEDAMOUNT money;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASETOORGANIZATIONEXCHANGERATEID uniqueidentifier;
-- Get the calculation result in transaction currency.
select @TRANSACTIONREALIZEDAMOUNT = dbo.UFN_PLANNEDGIFT_GETTRANSACTIONREALIZEDAMOUNT(@ID);
-- Get the currency information we need for conversion.
select
@DATE = GIFTDATE,
@BASECURRENCYID = BASECURRENCYID,
@BASEEXCHANGERATEID = BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
@ORGANIZATIONEXCHANGERATEID = ORGANIZATIONEXCHANGERATEID
from
dbo.PLANNEDGIFT
where
ID = @ID;
-- Perform the conversion to base currency.
select
@BASEEXCHANGERATEID = GETCURRENCYVALUES.BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID = GETCURRENCYVALUES.TRANSACTIONCURRENCYID,
@BASEREALIZEDAMOUNT = GETCURRENCYVALUES.BASEAMOUNT,
@ORGANIZATIONREALIZEDAMOUNT = GETCURRENCYVALUES.ORGANIZATIONAMOUNT,
@ORGANIZATIONEXCHANGERATEID = GETCURRENCYVALUES.ORGANIZATIONEXCHANGERATEID,
@BASETOORGANIZATIONEXCHANGERATEID = GETCURRENCYVALUES.BASETOORGANIZATIONEXCHANGERATEID
from
dbo.UFN_CURRENCY_GETCURRENCYVALUES_2
(
@TRANSACTIONREALIZEDAMOUNT,
@DATE,
@BASECURRENCYID,
@BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID,
default,
default,
default,
@ORGANIZATIONEXCHANGERATEID,
0
) GETCURRENCYVALUES;
end
else
begin
select
@ORGANIZATIONREALIZEDAMOUNT = isnull(PLANNEDGIFT.ORGANIZATIONREALIZEDVALUE,0)
from
dbo.PLANNEDGIFT
where
PLANNEDGIFT.ID = @ID
end
return @ORGANIZATIONREALIZEDAMOUNT;
end