USP_BATCH_SYSTEMMESSAGES

Parameters

Parameter Parameter Type Mode Description
@BATCHID uniqueidentifier IN
@ROWID uniqueidentifier IN
@STARTSEQUENCE bigint IN
@SEQUENCECOUNT bigint IN

Definition

Copy


CREATE procedure dbo.USP_BATCH_SYSTEMMESSAGES (
    @BATCHID uniqueidentifier, 
    @ROWID uniqueidentifier = null, -- Returns messages for only the specified row. Takes precedence over sequence params.

    @STARTSEQUENCE bigint = null, -- Returns messages for a range of rows. ROWID must be null.

    @SEQUENCECOUNT bigint = null
)
as
begin
    set nocount on;

    declare @BASETABLENAME nvarchar(200);


    select @BASETABLENAME = BATCHTYPECATALOG.BASETABLENAME
    from dbo.BATCH
    inner join dbo.BATCHTEMPLATE on BATCH.BATCHTEMPLATEID = BATCHTEMPLATE.ID
    inner join dbo.BATCHTYPECATALOG on BATCHTEMPLATE.BATCHTYPECATALOGID = BATCHTYPECATALOG.ID
    where BATCH.ID = @BATCHID

    declare @sql nvarchar(1000);
    declare @paramdef nvarchar(1000);


    set @sql = N'exec dbo.' + quotename('USP_' + @BASETABLENAME + 'BATCHSYSTEMMESSAGES_SELECT') + ' @BATCHID, @ROWID, @STARTSEQUENCE, @SEQUENCECOUNT';
    set @paramdef = N'@BATCHID uniqueidentifier, @ROWID uniqueidentifier, @STARTSEQUENCE int, @SEQUENCECOUNT int';

    declare @messages table (
        SEQUENCE int,  
        ID uniqueidentifier, 
        ROWID uniqueidentifier, 
        MESSAGETEXT nvarchar(2000), 
        MESSAGETYPECODE tinyint
        MESSAGETYPE nvarchar(100), 
        INVALIDFIELDID nvarchar(200), 
        INVALIDFIELDVALUE nvarchar(max), 
        SEVERITYCODE tinyint
        SEVERITY nvarchar(100),
        ORIGINCODE tinyint
        ORIGIN nvarchar(100)
    )


    insert into @messages
    exec sp_executesql @sql, @paramdef, @BATCHID = @BATCHID, @ROWID = @ROWID, @STARTSEQUENCE = @STARTSEQUENCE, @SEQUENCECOUNT = @SEQUENCECOUNT;

    select
        SEQUENCE,  
        ID, 
        ROWID
        MESSAGETEXT, 
        MESSAGETYPECODE, 
        MESSAGETYPE, 
        INVALIDFIELDID, 
        INVALIDFIELDVALUE, 
        SEVERITYCODE, 
        SEVERITY, 
        ORIGINCODE, 
        ORIGIN
    from @messages
    order by SEQUENCE

end