USP_EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES_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/1/2024 11:52:41 PM
Assembly Version: Blackbaud.AppFx.Platform.SqlClr, Version=4.0.3800.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE PROCEDURE dbo.USP_EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES_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
EXCHANGEEMAILBATCH.SEQUENCE,
EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES.ID,
EXCHANGEEMAILBATCHID as ROWID,
MESSAGETEXT,
MESSAGETYPECODE,
MESSAGETYPE,
INVALIDFIELDID,
INVALIDFIELDVALUE,
SEVERITYCODE,
SEVERITY,
ORIGINCODE,
ORIGIN
from dbo.EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES
inner join dbo.EXCHANGEEMAILBATCH on EXCHANGEEMAILBATCH.ID = EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES.EXCHANGEEMAILBATCHID
where EXCHANGEEMAILBATCHID = @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.EXCHANGEEMAILBATCH
where BATCHID = @BATCHID
)
select
BATCHROWS.SEQUENCE,
EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES.ID,
EXCHANGEEMAILBATCHID as ROWID,
MESSAGETEXT,
MESSAGETYPECODE,
MESSAGETYPE,
INVALIDFIELDID,
INVALIDFIELDVALUE,
SEVERITYCODE,
SEVERITY,
ORIGINCODE,
ORIGIN
from dbo.EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES
inner join BATCHROWS on BATCHROWS.ID = EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES.EXCHANGEEMAILBATCHID
where RowNum >= @STARTSEQUENCE and (@SEQUENCECOUNT is null or RowNum < @STARTSEQUENCE + @SEQUENCECOUNT)
order by SEQUENCE
else -- select messages for all rows in the batch
select
EXCHANGEEMAILBATCH.SEQUENCE,
EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES.ID,
EXCHANGEEMAILBATCHID as ROWID,
MESSAGETEXT,
MESSAGETYPECODE,
MESSAGETYPE,
INVALIDFIELDID,
INVALIDFIELDVALUE,
SEVERITYCODE,
SEVERITY,
ORIGINCODE,
ORIGIN
from dbo.EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES
inner join dbo.EXCHANGEEMAILBATCH on EXCHANGEEMAILBATCH.ID = EXCHANGEEMAILBATCHBATCHSYSTEMMESSAGES.EXCHANGEEMAILBATCHID
where EXCHANGEEMAILBATCH.BATCHID = @BATCHID
order by SEQUENCE
end
end