UFN_CREDIT_GETSPLITDISCOUNTAMOUNT_BULK

Return

Return Type
table

Definition

Copy


        create function dbo.UFN_CREDIT_GETSPLITDISCOUNTAMOUNT_BULK()
        returns table
        as return
        (
            select
                DISCOUNTSPLIT.SOURCELINEITEMID,
                sum(DISCOUNTSPLIT.TRANSACTIONAMOUNT) DISCOUNTTOTAL
            from dbo.FINANCIALTRANSACTIONLINEITEM DISCOUNTSPLIT
            inner join dbo.CREDITITEM_EXT
                on DISCOUNTSPLIT.ID = CREDITITEM_EXT.ID
            inner join dbo.DISCOUNT
                on DISCOUNT.ID = CREDITITEM_EXT.DISCOUNTID
            where DISCOUNTSPLIT.TYPECODE = 5 -- Discount

            and not exists (
                    select 1 
                    from dbo.FINANCIALTRANSACTION REFUND
                    inner join dbo.FINANCIALTRANSACTIONLINEITEM REFUNDSPLIT
                        on REFUND.ID = REFUNDSPLIT.FINANCIALTRANSACTIONID
                    where REFUND.TYPECODE = 23
                    and REFUNDSPLIT.SOURCELINEITEMID = DISCOUNTSPLIT.SOURCELINEITEMID
            )
            -- Filter out refunded order discount total

            and DISCOUNTSPLIT.SOURCELINEITEMID is not null
            group by DISCOUNTSPLIT.SOURCELINEITEMID
        )