USP_DATALIST_CONVERTISOCURRENCY
Converts an amount from one ISO currency to another if the necessary exchange rates exist
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEISO | nvarchar(3) | IN | Source ISO |
@TARGETISO | nvarchar(3) | IN | Target ISO |
@AMOUNT | money | IN | Amount |
@DATE | datetime | IN | Date |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONVERTISOCURRENCY
(
@SOURCEISO nvarchar(3),
@TARGETISO nvarchar(3),
@AMOUNT money,
@DATE datetime = null
)
as
set nocount on;
declare @SOURCECURRENCYID uniqueidentifier
declare @TARGETCURRENCYID uniqueidentifier
declare @EXCHANGERATES table ([ID] int identity, [EXCHANGERATEID] uniqueidentifier, [RATE] decimal(20,8), [FROMDECIMALDIGITS] tinyint, [FROMROUNDINGCODE] tinyint, [TODECIMALDIGITS] tinyint, [TOROUNDINGCODE] tinyint, [DESC] nvarchar(200))
select @SOURCECURRENCYID = ID from dbo.CURRENCY C where C.ISO4217 = @SOURCEISO
select @TARGETCURRENCYID = ID from dbo.CURRENCY C where C.ISO4217 = @TARGETISO
insert into @EXCHANGERATES
exec USP_CURRENCYEXCHANGERATELOOKUP_DATALIST @SOURCECURRENCYID, @TARGETCURRENCYID, 1, @DATE
declare @EXCHANGERATEID uniqueidentifier
select top 1 @EXCHANGERATEID = [EXCHANGERATEID] from @EXCHANGERATES order by ID asc
if @EXCHANGERATEID is not null
select dbo.UFN_CURRENCY_CONVERT(@AMOUNT,@EXCHANGERATEID)