USP_DATALIST_UNMAPPEDTRANSACTIONERRORS

Returns a list of unmapped transaction messages.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@TRANSACTIONTYPECODE tinyint IN Transaction type
@EXCLUDEACKNOWLEDGE bit IN Exclude reviewed messages

Definition

Copy


CREATE procedure dbo.USP_DATALIST_UNMAPPEDTRANSACTIONERRORS
(
    @ID uniqueidentifier
    ,@TRANSACTIONTYPECODE tinyint = null
    ,@EXCLUDEACKNOWLEDGE bit = 1
)
as
    set nocount on;

    WITH ErrorMessage_CTE (ID, ERRORMESSAGE, TRANSACTIONTYPE, OCCURRENCES, ADDRESSED, DATEADDED)
    AS 
    (
        select MAX(cast(ME.ID as nvarchar(36))), ME.ERRORMESSAGE, ME.TRANSACTIONTYPE, COUNT(ME.ID), ME.ADDRESSED, MIN(ME.DATEADDED)
        from dbo.GLACCOUNTMAPPINGERROR ME
            left join dbo.SALESORDER SO on SO.ID = ME.TRANSACTIONID
            left join dbo.FINANCIALTRANSACTION FT on FT.ID = ME.TRANSACTIONID or FT.ID = SO.REVENUEID
        where
            @ID = FT.PDACCOUNTSYSTEMID
            and (@TRANSACTIONTYPECODE is null or ME.TRANSACTIONTYPECODE = @TRANSACTIONTYPECODE)
            and ((@EXCLUDEACKNOWLEDGE = 0) or (@EXCLUDEACKNOWLEDGE = 1 and ME.ADDRESSED = 0))
            and ME.DELETED = 0
            group by ME.ERRORMESSAGE, ME.TRANSACTIONTYPE, ME.ADDRESSED
    )

    select MAX(cast(ME1.ID as nvarchar(36))) as [ID]
        ,case when (select COUNT(TRANSACTIONTYPE) from ErrorMessage_CTE where ERRORMESSAGE = ME1.ERRORMESSAGE and ADDRESSED = ME1.ADDRESSED group by ERRORMESSAGE) > 1 THEN 'Multiple' ELSE MAX(ME1.TRANSACTIONTYPE) END [TRANSACTIONTYPE]
        ,SUM(ME1.OCCURRENCES) as [OCCURRENCES]
        ,ME1.ERRORMESSAGE
        ,ME1.ADDRESSED as [ADDRESSED]
        ,MIN(ME1.DATEADDED) as [ADDED]
    from ErrorMessage_CTE ME1
    group by ME1.ERRORMESSAGE, ME1.ADDRESSED
    order by SUM(ME1.OCCURRENCES) desc, MIN(ME1.DATEADDED) desc, MAX(ME1.TRANSACTIONTYPE) asc