USP_REVENUE_GETBENEFITSSPLIT
Returns splits revenue benefits into to xml fields.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@BENEFITS | xml | INOUT | |
@PERCENTAGEBENEFITS | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_REVENUE_GETBENEFITSSPLIT
(
@REVENUEID uniqueidentifier,
@BENEFITS xml = null output,
@PERCENTAGEBENEFITS xml = null output
)
as
set nocount on
--Only get benefit expenses. Liabilities will be auto-calculated
set @BENEFITS =
(select
REVENUEBENEFIT.[ID],
REVENUEBENEFIT.[BENEFITID],
REVENUEBENEFIT.[QUANTITY],
REVENUEBENEFIT.[UNITVALUE],
REVENUEBENEFIT.[TOTALVALUE],
REVENUEBENEFIT.[DETAILS],
REVENUEBENEFIT.[SEQUENCE],
REVENUEBENEFIT.[PERCENTAPPLICABLEAMOUNT],
REVENUEBENEFIT.[VALUEPERCENT],
[BENEFIT].[USEPERCENT],
REVENUEBENEFIT.[BASECURRENCYID],
REVENUEBENEFIT.[TRANSACTIONTOTALVALUE],
REVENUEBENEFIT.[REVENUESPLITID]
from
dbo.REVENUEBENEFIT
inner join dbo.BENEFIT on REVENUEBENEFIT.BENEFITID = BENEFIT.ID
inner join dbo.REVENUEBENEFIT_EXT RBX on RBX.ID = REVENUEBENEFIT.ID
where
REVENUEID = @REVENUEID
and [BENEFIT].[USEPERCENT] = 0
and RBX.BENEFITTYPECODE = 1
order by
SEQUENCE, ID
for xml raw('ITEM'),type,elements,root('BENEFITS'),BINARY BASE64);
set @PERCENTAGEBENEFITS =
(select
REVENUEBENEFIT.[ID],
REVENUEBENEFIT.[BENEFITID],
REVENUEBENEFIT.[QUANTITY],
REVENUEBENEFIT.[UNITVALUE],
REVENUEBENEFIT.[TOTALVALUE],
REVENUEBENEFIT.[DETAILS],
REVENUEBENEFIT.[SEQUENCE],
REVENUEBENEFIT.[PERCENTAPPLICABLEAMOUNT],
REVENUEBENEFIT.[VALUEPERCENT],
[BENEFIT].[USEPERCENT],
REVENUEBENEFIT.BASECURRENCYID,
REVENUEBENEFIT.[TRANSACTIONTOTALVALUE],
REVENUEBENEFIT.[REVENUESPLITID]
from
dbo.REVENUEBENEFIT
inner join dbo.BENEFIT on REVENUEBENEFIT.BENEFITID = BENEFIT.ID
inner join dbo.REVENUEBENEFIT_EXT RBX on RBX.ID = REVENUEBENEFIT.ID
where
REVENUEID = @REVENUEID and [BENEFIT].[USEPERCENT] = 1
and RBX.BENEFITTYPECODE = 1
order by
SEQUENCE, ID
for xml raw('ITEM'),type,elements,root('PERCENTAGEBENEFITS'),BINARY BASE64);