UFN_REVENUE_GETAPPLICATIONDETAILSFORSEARCHXML

Returns all splits for a given revenue record

Return

Return Type
xml

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUE_GETAPPLICATIONDETAILSFORSEARCHXML
(
    @REVENUEID uniqueidentifier
)
returns xml            
as
begin

return (
select *
from 
(
    select
        coalesce(rs.[APPLICATION], N'') [APPLICATION]
        , ftli.TYPECODE
        , ftli.TRANSACTIONAMOUNT as TRANSACTIONAMOUNT
        , c.ISO4217
        , c.DECIMALDIGITS
        , c.CURRENCYSYMBOL
        , c.SYMBOLDISPLAYSETTINGCODE    
    from dbo.FINANCIALTRANSACTIONLINEITEM ftli
        left join dbo.REVENUESPLIT_EXT rs on rs.id = ftli.id
        inner join dbo.FINANCIALTRANSACTION ft on ftli.FINANCIALTRANSACTIONID = ft.ID    
        inner join dbo.CURRENCY c on c.ID = ft.TRANSACTIONCURRENCYID
    where
        ftli.FINANCIALTRANSACTIONID = @REVENUEID
        and ftli.TYPECODE <> 5 -- not Discount

        and ftli.DELETEDON is null
        and (
            rs.APPLICATIONCODE is null
            or rs.APPLICATIONCODE <> 10  -- not Order

            or ftli.VISIBLE = 1  -- Currently, group sales creates line items that aren't visible to the user

        )

    union all

    select 
        ftli.[TYPE] as [APPLICATION]
        , ftli.TYPECODE
        , SUM(ftli.TRANSACTIONAMOUNT) TRANSACTIONAMOUNT
        , c.ISO4217
        , c.DECIMALDIGITS
        , c.CURRENCYSYMBOL
        , c.SYMBOLDISPLAYSETTINGCODE    
    from dbo.FINANCIALTRANSACTIONLINEITEM ftli
        inner join dbo.FINANCIALTRANSACTION ft on ftli.FINANCIALTRANSACTIONID = ft.ID    
        inner join dbo.CURRENCY c on c.ID = ft.TRANSACTIONCURRENCYID
    where 
        ftli.TYPECODE = 5 -- Discount

        and ftli.FINANCIALTRANSACTIONID = @REVENUEID
        and ftli.DELETEDON is null
    group by
        ftli.TYPECODE
        , ftli.[TYPE]
        , ft.TRANSACTIONCURRENCYID
        , c.ISO4217
        , c.DECIMALDIGITS
        , c.CURRENCYSYMBOL
        , c.SYMBOLDISPLAYSETTINGCODE
) as s
order by s.TYPECODE asc, s.TRANSACTIONAMOUNT desc
for xml raw('ITEM'),type,elements,root('APPLICATIONDETAILS'),BINARY BASE64);

end