UFN_REVENUE_HASNEEDEDRATES

Returns true if the given revenue record has the rates it needs to be valid.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUE_HASNEEDEDRATES
            (
                @REVENUEID uniqueidentifier
            ) 
            returns bit
            with execute as caller
            as begin

                declare @HASRATES bit = 0;

                declare @ORIGINCODE tinyint;
                select @ORIGINCODE = ORGANIZATIONAMOUNTORIGINCODE 
                from dbo.MULTICURRENCYCONFIGURATION;

                select @HASRATES = 1
                from dbo.FINANCIALTRANSACTION
                inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
                inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
                where FINANCIALTRANSACTION.ID = @REVENUEID
                    and(
                        FINANCIALTRANSACTION.TRANSACTIONCURRENCYID = isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID)
                        or FINANCIALTRANSACTION.BASEEXCHANGERATEID is not null
                    )
                    and(
                        (@ORIGINCODE = 0
                            and(isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID) = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                or FINANCIALTRANSACTION.ORGEXCHANGERATEID is not null
                            )
                        )
                        or (@ORIGINCODE = 1
                            and(FINANCIALTRANSACTION.TRANSACTIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                or FINANCIALTRANSACTION.ORGEXCHANGERATEID is not null
                            )
                        )
                    )

                return @HASRATES
            end