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