USP_DATAFORMTEMPLATE_EDITLOAD_UNMAPPEDERRORPROCESS

The load procedure used by the edit dataform template "GL Account Mapping Message Update Process Edit Data Form"

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.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@ACCOUNTSYSTEM nvarchar(50) INOUT Account system
@MESSAGES xml INOUT Messages

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_UNMAPPEDERRORPROCESS
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @ACCOUNTSYSTEM nvarchar(50) = null output,
    @MESSAGES XML = null output
)
as

    set nocount on;

    -- be sure to set these, in case the select returns no rows

    set @DATALOADED = 0
    set @TSLONG = 0

    declare @PDACCOUNTSYSTEMID uniqueidentifier;

    -- populate the output parameters, which correspond to fields on the form.  Note that

    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

    -- will display a "no data loaded" message.  Also note that we fetch the TSLONG so that concurrency

    -- can be considered.

    select
        @DATALOADED = 1,
        @TSLONG = PDACCOUNTSYSTEM.TSLONG,
        @ACCOUNTSYSTEM = PDACCOUNTSYSTEM.NAME,
        @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
    from dbo.PDACCOUNTSYSTEM
    inner join dbo.GLACCOUNTMAPPINGERRORUPDATEPROCESS on GLACCOUNTMAPPINGERRORUPDATEPROCESS.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
    where GLACCOUNTMAPPINGERRORUPDATEPROCESS.ID = @ID;

    declare @TempMessages TABLE(
        ID uniqueidentifier
        ,TRANSACTIONTYPE nvarchar(100)
        ,OCCURRENCES int
        ,ERRORMESSAGE nvarchar(max)
        ,ADDRESSED bit
        ,ADDED datetime
    );

    insert into @TempMessages
    exec dbo.USP_DATALIST_UNMAPPEDTRANSACTIONERRORS @PDACCOUNTSYSTEMID, null, 0

    set @MESSAGES = (
        select 
            MAX(CONVERT(nvarchar(36),M.ID)) as ID
            ,CAST(1 as bit) [INCLUDE]
            ,M.TRANSACTIONTYPE
            ,SUM(M.OCCURRENCES) as [OCCURRENCES]
            ,M.ERRORMESSAGE
        from @TempMessages M
        group by M.ERRORMESSAGE, M.TRANSACTIONTYPE
        for xml raw('ITEM'),type,elements,root('MESSAGES'),BINARY BASE64
    );

    return 0;