UFN_REVENUE_GETREVENUEBENEFITS_BYROWNUMBER

Returns the revenue benefit record information based on the revenue id and the record row number.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@ROWNUMBER int IN

Definition

Copy


          CREATE function dbo.UFN_REVENUE_GETREVENUEBENEFITS_BYROWNUMBER
          (
            @REVENUEID as uniqueidentifier,
            @ROWNUMBER as int
          )
          returns table
          as
          return 
            select
              SUBQ.NAME,
              SUBQ.QUANTITY,
              SUBQ.UNITVALUE,
              SUBQ.VALUEPERCENT,
              SUBQ.TOTALVALUE,
              SUBQ.TRANSACTIONTOTALVALUE,
              case 
                when SUBQ.QUANTITY > 0 then dbo.UFN_CURRENCY_ROUND(SUBQ.TRANSACTIONTOTALVALUE / SUBQ.QUANTITY, CURRENCY.DECIMALDIGITS, CURRENCY.ROUNDINGTYPECODE)
                else null
              end TRANSACTIONUNITVALUE
            from
            (
              select
                row_number() over (order by RB.SEQUENCE) ROWNUMBER,
                BENEFIT.NAME,
                RB.QUANTITY, 
                RB.UNITVALUE,
                REVENUEBENEFIT_EXT.VALUEPERCENT,
                RB.BASEAMOUNT TOTALVALUE,
                RB.TRANSACTIONAMOUNT TRANSACTIONTOTALVALUE,
                case
                    when FINANCIALTRANSACTION.TRANSACTIONCURRENCYID is not null then FINANCIALTRANSACTION.TRANSACTIONCURRENCYID
                    else dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                end as CURRENCYID
              from dbo.BENEFIT 
        inner join dbo.REVENUEBENEFIT_EXT on BENEFIT.ID = REVENUEBENEFIT_EXT.BENEFITID
        inner join dbo.FINANCIALTRANSACTIONLINEITEM RB on REVENUEBENEFIT_EXT.ID = RB.ID
        inner join dbo.FINANCIALTRANSACTION on RB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
              where RB.FINANCIALTRANSACTIONID = @REVENUEID
            ) as SUBQ 
            left join dbo.CURRENCY on CURRENCY.ID = SUBQ.CURRENCYID
            where 
              @ROWNUMBER = ROWNUMBER