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