UFN_REVENUEDETAIL_JOINBENEFITSFORBATCH
Returns a joined set of money and percentage based benefits for the enhanced revenue batch.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@UNITBENEFITS | xml | IN | |
@PERCENTAGEBENEFITS | xml | IN |
Definition
Copy
create function dbo.UFN_REVENUEDETAIL_JOINBENEFITSFORBATCH(@UNITBENEFITS xml, @PERCENTAGEBENEFITS xml)
returns xml
as
begin
return
(
select * from
(
select
T.c.value('(BENEFITID)[1]','uniqueidentifier') AS 'BENEFITID',
T.c.value('(DETAILS)[1]','nvarchar(255)') AS 'DETAILS',
T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
T.c.value('(QUANTITY)[1]','smallint') AS 'QUANTITY',
T.c.value('(SEQUENCE)[1]','int') AS 'SEQUENCE',
T.c.value('(TOTALVALUE)[1]','money') AS 'TOTALVALUE',
T.c.value('(UNITVALUE)[1]','money') AS 'UNITVALUE',
0.00 as PERCENTAPPLICABLEAMOUNT,
0.00 as VALUEPERCENT,
T.c.value('(BENEFITCURRENCYID)[1]','uniqueidentifier') AS 'BENEFITCURRENCYID'
from @UNITBENEFITS.nodes('/BENEFITS/ITEM') T(c)
union all
select
T.c.value('(BENEFITID)[1]','uniqueidentifier') AS 'BENEFITID',
T.c.value('(DETAILS)[1]','nvarchar(255)') AS 'DETAILS',
T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
0 AS 'QUANTITY',
T.c.value('(SEQUENCE)[1]','int') AS 'SEQUENCE',
T.c.value('(TOTALVALUE)[1]','money') AS 'TOTALVALUE',
0.00 as UNITVALUE,
T.c.value('(PERCENTAPPLICABLEAMOUNT)[1]','money') AS 'PERCENTAPPLICABLEAMOUNT',
T.c.value('(VALUEPERCENT)[1]','money') AS 'VALUEPERCENT',
null as 'BENEFITCURRENCYID'
from @PERCENTAGEBENEFITS.nodes('/PERCENTAGEBENEFITS/ITEM') T(c)
) as BENEFITS
for xml raw('ITEM'),type,elements,root('BENEFITS'),BINARY BASE64
)
end