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