USP_DATALIST_AUCTIONITEMCURRENCYSETPROPERTIES
Gets exchange rate information if the given currency is a transaction currency in the given account system's currency set.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_DATALIST_AUCTIONITEMCURRENCYSETPROPERTIES
(
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null
)
as
set nocount on;
if @PDACCOUNTSYSTEMID = '00000000-0000-0000-0000-000000000000' or @PDACCOUNTSYSTEMID is null
select @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
from dbo.PDACCOUNTSYSTEM
where ISDEFAULT = 1;
if exists(select PDACCOUNTSYSTEM.ID
from dbo.PDACCOUNTSYSTEM
inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
inner join dbo.CURRENCYSETTRANSACTIONCURRENCY on CURRENCYSET.ID = CURRENCYSETTRANSACTIONCURRENCY.CURRENCYSETID
where CURRENCYSETTRANSACTIONCURRENCY.CURRENCYID = @TRANSACTIONCURRENCYID
and CURRENCYSET.BASECURRENCYID != @TRANSACTIONCURRENCYID
and PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID)
begin
declare @BASEEXCHANGERATEID uniqueidentifier = (dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@TRANSACTIONCURRENCYID, (select BASECURRENCYID from dbo.PDACCOUNTSYSTEM left join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID where PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID), getdate(), 1, null))
select 1 as CURRENCYSETHASTRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID as BASEEXCHANGERATEID,
coalesce((select RATE from dbo.CURRENCYEXCHANGERATE where ID = @BASEEXCHANGERATEID), 1) as BASEEXCHANGERATE
end
else
begin
select 0 as CURRENCYSETHASTRANSACTIONCURRENCYID,
null as BASEEXCHANGERATEID,
1 as BASEEXCHANGERATE
end