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