UFN_GIFTAIDREVENUESPLIT_CALCULATEGROSSAMOUNTINCURRENCY

Calculates the gross amount for a payment based on currency.

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_CALCULATEGROSSAMOUNTINCURRENCY(
                @ID uniqueidentifier,
                @ACTUALONLY bit,
                @CURRENCYID uniqueidentifier
            )
              returns money
              with execute as caller
              as begin
                declare @GROSSAMOUNT money;
                declare @RECORDDATE date;

                select    
                    @GROSSAMOUNT = FINANCIALTRANSACTION.ORGAMOUNT,
                    @RECORDDATE = cast(FINANCIALTRANSACTION.DATE as datetime)
                from
                    dbo.FINANCIALTRANSACTION
                where 
                    FINANCIALTRANSACTION.ID = @ID;

                set @GROSSAMOUNT = @GROSSAMOUNT + dbo.UFN_GIFTAIDREVENUESPLIT_GETTAXCLAIMAMOUNT_2(@ID, @ACTUALONLY, 2);

        if @CURRENCYID <> dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
        begin
          declare @CURRENCYEXCHANGERATEID uniqueidentifier;
                  set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @CURRENCYID, @RECORDDATE, 1, null);
                  if (@CURRENCYEXCHANGERATEID is not null)
          begin
              set @GROSSAMOUNT =  dbo.UFN_CURRENCY_CONVERT(@GROSSAMOUNT, @CURRENCYEXCHANGERATEID)
          end
          else
                  begin
                    set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(@CURRENCYID, dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @RECORDDATE, 1, null);
                    set @GROSSAMOUNT =  dbo.UFN_CURRENCY_CONVERTINVERSE(@GROSSAMOUNT, @CURRENCYEXCHANGERATEID)
          end
        end
                return @GROSSAMOUNT
              end