USP_DATAFORMTEMPLATE_VIEW_UNMAPPEDTRANSACTIONERROR
The load procedure used by the view dataform template "Unmapped Transaction Detail"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@TRANSACTIONTYPE | nvarchar(100) | INOUT | Transaction type |
@OCCURRENCES | int | INOUT | Occurrences |
@ERRORMESSAGE | nvarchar(max) | INOUT | Message |
@PDACCOUNTSYSTEMID | uniqueidentifier | INOUT | Account system |
@ADDRESSED | bit | INOUT | Reviewed |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_UNMAPPEDTRANSACTIONERROR
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TRANSACTIONTYPE nvarchar(100) = null output,
@OCCURRENCES int = null output,
@ERRORMESSAGE nvarchar(max) = null output,
@PDACCOUNTSYSTEMID uniqueidentifier = null output,
@ADDRESSED bit = null output
)
as
set nocount on;
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
select @DATALOADED = 1
,@PDACCOUNTSYSTEMID = FT.PDACCOUNTSYSTEMID
,@ERRORMESSAGE = ME.ERRORMESSAGE
,@ADDRESSED = ME.ADDRESSED
from dbo.GLACCOUNTMAPPINGERROR ME
left join dbo.SALESORDER SO on SO.ID = ME.TRANSACTIONID
inner join dbo.FINANCIALTRANSACTION FT on FT.ID = ME.TRANSACTIONID or FT.ID = SO.REVENUEID
where ME.ID = @ID;
WITH ErrorMessage_CTE (TRANSACTIONTYPE, OCCURRENCES)
AS
(
select ME.TRANSACTIONTYPE, COUNT(ME.ID)
from dbo.GLACCOUNTMAPPINGERROR ME
left join dbo.SALESORDER SO on SO.ID = ME.TRANSACTIONID
inner join dbo.FINANCIALTRANSACTION FT on FT.ID = ME.TRANSACTIONID or FT.ID = SO.REVENUEID
where FT.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
and ME.ERRORMESSAGE = @ERRORMESSAGE
and ME.DELETED = 0
and ME.ADDRESSED = @ADDRESSED
group by ME.TRANSACTIONTYPE
)
select @TRANSACTIONTYPE = case when (select COUNT(TRANSACTIONTYPE) from ErrorMessage_CTE) > 1 THEN 'Multiple' ELSE MAX(ME1.TRANSACTIONTYPE) END
,@OCCURRENCES = SUM(ME1.OCCURRENCES)
from ErrorMessage_CTE ME1
return 0;