UFN_REVENUEDETAIL_JOINBENEFITS

Returns returns a joined set of money and percentage based benefits.

Return

Return Type
xml

Parameters

Parameter Parameter Type Mode Description
@UNITBENEFITS xml IN
@PERCENTAGEBENEFITS xml IN

Definition

Copy


    CREATE function dbo.UFN_REVENUEDETAIL_JOINBENEFITS(@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]','int') 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('(BASECURRENCYID)[1]','uniqueidentifier') AS 'BASECURRENCYID',
                T.c.value('(REVENUESPLITID)[1]','uniqueidentifier') AS 'REVENUESPLITID' 
                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 'BASECURRENCYID',
                T.c.value('(REVENUESPLITID)[1]','uniqueidentifier') AS 'REVENUESPLITID'
                FROM @PERCENTAGEBENEFITS.nodes('/PERCENTAGEBENEFITS/ITEM') T(c) 
            ) as BENEFITS
            for xml raw('ITEM'),type,elements,root('BENEFITS'),BINARY BASE64  
        )
      end