UFN_CURRENCY_CONVERT

Converts an amount from one currency to another using the given exchange rate ID.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@AMOUNT money IN
@CURRENCYEXCHANGERATEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_CURRENCY_CONVERT
            (
                @AMOUNT money,
                @CURRENCYEXCHANGERATEID uniqueidentifier = null
            )
            returns money
            as begin
                declare @DECIMALDIGITS tinyint;
                declare @ROUNDINGTYPECODE tinyint;
                declare @RATE decimal(20,8);
                declare @UNROUNDED decimal(38,9);

                if @CURRENCYEXCHANGERATEID is null
                    return 0;

                select
                    @DECIMALDIGITS = CURRENCY.DECIMALDIGITS,
                    @ROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE,
                    @RATE = CURRENCYEXCHANGERATE.RATE
                from
                    dbo.CURRENCYEXCHANGERATE
                    inner join dbo.CURRENCY on CURRENCY.ID = CURRENCYEXCHANGERATE.TOCURRENCYID
                where
                    CURRENCYEXCHANGERATE.ID = @CURRENCYEXCHANGERATEID;

                set @UNROUNDED = dbo.UFN_CURRENCY_APPLYRATE(@AMOUNT, @RATE);
                return dbo.UFN_CURRENCY_ROUND(@UNROUNDED, @DECIMALDIGITS, @ROUNDINGTYPECODE);
            end