UFN_SALESORDER_GETTICKETOTAL

Returns the ticket total for an order.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@SALESORDERID uniqueidentifier IN

Definition

Copy


        CREATE function dbo.UFN_SALESORDER_GETTICKETOTAL
        (
            @SALESORDERID uniqueidentifier
        )
        returns money
        as begin
            declare @TICKETSUBTOTAL money
            declare @TICKETFEES money
            declare @TICKETDISCOUNTS money

            select 
                @TICKETSUBTOTAL = coalesce(
                    (select sum([SALESORDERITEM].[TOTAL]) 
                    from dbo.[SALESORDERITEM] 
                    where 
                        [SALESORDERITEM].[SALESORDERID] = @SALESORDERID and 
                        [SALESORDERITEM].[TYPECODE] = 0
                    ),0)

            select 
                @TICKETFEES = coalesce(
                    (select sum([SALESORDERITEM].[TOTAL]) 
                    from dbo.[SALESORDERITEM]
                    inner join dbo.[SALESORDERITEMFEE]
                        on [SALESORDERITEM].[ID] = [SALESORDERITEMFEE].[ID]
                    where 
                        [SALESORDERITEM].[SALESORDERID] = @SALESORDERID and 
                        [SALESORDERITEMFEE].[APPLIESTOCODE] = 1 and 
                        [SALESORDERITEMFEE].[SALESORDERITEMID] in 
                            (select [ID] from dbo.[SALESORDERITEM]
                            where [SALESORDERITEM].[SALESORDERID] = @SALESORDERID and 
                            [SALESORDERITEM].[TYPECODE] = 0)
                    ),0)

            select
                @TICKETDISCOUNTS = coalesce(
                    (select sum([SALESORDERITEMITEMDISCOUNT].[AMOUNT])
                    from dbo.[SALESORDERITEMITEMDISCOUNT]
                        inner join [SALESORDERITEM] on [SALESORDERITEMITEMDISCOUNT].[SALESORDERITEMID] = [SALESORDERITEM].[ID]
                    where
                        [SALESORDERITEM].[TYPECODE] = 0 and
                        [SALESORDERITEM].[SALESORDERID] = @SALESORDERID
                    ),0)

            return (@TICKETSUBTOTAL + @TICKETFEES) - @TICKETDISCOUNTS;
        end