UFN_BBNC_ISOCODETOCURRENCY
Returns a result row from dbo.currency based on an ISO code
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ISOCODE | nvarchar(3) | IN | |
@GIFTDATE | datetime | IN | |
@AMOUNT | money | IN |
Definition
Copy
CREATE function dbo.UFN_BBNC_ISOCODETOCURRENCY
(
@ISOCODE nvarchar(3),
@GIFTDATE datetime,
@AMOUNT money
)
returns @CURINFOTAB table
(
TRANSACTIONCURRENCYID uniqueidentifier,
BASECURRENCYID uniqueidentifier,
BASEEXCHANGERATEID uniqueidentifier,
ORGANIZATIONEXCHANGERATEID uniqueidentifier,
ORGANIZATIONAMOUNT money,
BASEAMOUNT money,
DIGITS tinyint,
CURRENCYSYMBOL nvarchar(1),
FORMATSTYLE tinyint,
ROUNDINGSTYLE tinyint
)
as
begin
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier = null;
declare @ORGANIZATIONAMOUNT money;
declare @BASEAMOUNT money = @AMOUNT;
declare @TRANSACTIONCURRENCYID uniqueidentifier;
declare @CURRENCYSETID uniqueidentifier
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier = null;
declare @DIGITS tinyint;
declare @CURRENCYSYMBOL nvarchar(5);
declare @FORMATSTYLE tinyint;
declare @ROUNDINGSTYLE tinyint;
select @TRANSACTIONCURRENCYID = ID,@DIGITS = DECIMALDIGITS,@CURRENCYSYMBOL = CURRENCYSYMBOL,@ROUNDINGSTYLE=ROUNDINGTYPECODE,@FORMATSTYLE=SYMBOLDISPLAYSETTINGCODE from dbo.CURRENCY
where ISO4217 = @ISOCODE
--Using the system default for PDAccount because BBNC batch doesn't allow for PDACCOUNT choice.
--Function should change to send in PDAccount.
select @CURRENCYSETID = CURRENCYSETID from dbo.PDACCOUNTSYSTEM
where ID ='4B121C2C-CCE6-440D-894C-EA0DEF80D50B'
select @BASECURRENCYID = BASECURRENCYID from dbo.CURRENCYSET
where ID = coalesce(@CURRENCYSETID,dbo.UFN_CURRENCYSET_GETAPPUSERDEFAULTCURRENCYSET());
set @BASEEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@TRANSACTIONCURRENCYID,@BASECURRENCYID,@GIFTDATE,1,null);
select
@BASEAMOUNT = BASEAMOUNT,
@ORGANIZATIONAMOUNT = ORGANIZATIONAMOUNT,
@ORGANIZATIONEXCHANGERATEID = ORGANIZATIONEXCHANGERATEID
from dbo.UFN_CURRENCY_GETCURRENCYVALUES(@AMOUNT, @GIFTDATE, @BASECURRENCYID, @BASEEXCHANGERATEID, @TRANSACTIONCURRENCYID);
insert into @CURINFOTAB
values(@TRANSACTIONCURRENCYID,@BASECURRENCYID,@BASEEXCHANGERATEID,@ORGANIZATIONEXCHANGERATEID,@ORGANIZATIONAMOUNT,@BASEAMOUNT,@DIGITS,@CURRENCYSYMBOL,@FORMATSTYLE,@ROUNDINGSTYLE)
return;
end