USP_BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES_SELECT

Parameters

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

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  9/30/2015 12:58:50 AM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.153.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE PROCEDURE dbo.USP_BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES_SELECT (
    @BATCHID uniqueidentifier, 
    @ROWID uniqueidentifier = null, -- Returns messages for only the specified row. Takes precedence over sequence params.

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

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


    if not @ROWID is null  -- select only messages for the specified row


        select 
            BATCHMERCHANDISEINVENTORY.SEQUENCE
            BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES.ID, 
            BATCHMERCHANDISEINVENTORYID as ROWID
            MESSAGETEXT, 
            MESSAGETYPECODE, 
            MESSAGETYPE, 
            INVALIDFIELDID, 
            INVALIDFIELDVALUE, 
            SEVERITYCODE, 
            SEVERITY, 
            ORIGINCODE, 
            ORIGIN
        from dbo.BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES
        inner join dbo.BATCHMERCHANDISEINVENTORY on BATCHMERCHANDISEINVENTORY.ID = BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES.BATCHMERCHANDISEINVENTORYID
        where BATCHMERCHANDISEINVENTORYID = @ROWID


    else
    begin

        if not @STARTSEQUENCE is null -- select messages only for the specified range of rows


            with BATCHROWS as (
                select ID, 
                ROW_NUMBER() over (order by SEQUENCE) as RowNum,
                SEQUENCE
                from dbo.BATCHMERCHANDISEINVENTORY
                where BATCHID = @BATCHID
            )
            select 
                BATCHROWS.SEQUENCE
                BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES.ID, 
                BATCHMERCHANDISEINVENTORYID as ROWID
                MESSAGETEXT,
                MESSAGETYPECODE,
                MESSAGETYPE, 
                INVALIDFIELDID, 
                INVALIDFIELDVALUE, 
                SEVERITYCODE, 
                SEVERITY, 
                ORIGINCODE, 
                ORIGIN 
            from dbo.BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES
            inner join BATCHROWS on BATCHROWS.ID =  BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES.BATCHMERCHANDISEINVENTORYID
            where RowNum >= @STARTSEQUENCE    and (@SEQUENCECOUNT is null or RowNum < @STARTSEQUENCE + @SEQUENCECOUNT)
            order by SEQUENCE


        else  -- select messages for all rows in the batch


            select 
                BATCHMERCHANDISEINVENTORY.SEQUENCE,  
                BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES.ID, 
                BATCHMERCHANDISEINVENTORYID as ROWID
                MESSAGETEXT, 
                MESSAGETYPECODE, 
                MESSAGETYPE, 
                INVALIDFIELDID, 
                INVALIDFIELDVALUE, 
                SEVERITYCODE, 
                SEVERITY, 
                ORIGINCODE, 
                ORIGIN 
            from dbo.BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES 
            inner join dbo.BATCHMERCHANDISEINVENTORY on BATCHMERCHANDISEINVENTORY.ID =  BATCHMERCHANDISEINVENTORYBATCHSYSTEMMESSAGES.BATCHMERCHANDISEINVENTORYID
            where BATCHMERCHANDISEINVENTORY.BATCHID = @BATCHID
            order by SEQUENCE

    end

end