USP_MKTSEGMENTATIONACTIVATEPROCESS_GETRECENTSTATUSINFO

This procedure returns status information for a given appeal mailing.

Parameters

Parameter Parameter Type Mode Description
@SEGMENTATIONID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_MKTSEGMENTATIONACTIVATEPROCESS_GETRECENTSTATUSINFO
(
    @SEGMENTATIONID uniqueidentifier
)
as
begin
    declare @STATUSID uniqueidentifier;
    declare @STATUSCODE integer = -1;
    declare @STATUS nvarchar(25) = '';
    declare @STATUSMESSAGE nvarchar(max) = '';
    declare @ERRORMESSAGE nvarchar(max) = '';
    declare @EMAILQUEUED bit = 0;
    declare @EMAILSENDDATE datetime;

    select top 1
        @STATUSID = BUSINESSPROCESSSTATUS.ID,
        @STATUSCODE = BUSINESSPROCESSSTATUS.STATUSCODE,
        @STATUS = BUSINESSPROCESSSTATUS.STATUS,
        @ERRORMESSAGE = coalesce(BUSINESSPROCESSSTATUS.ERRORMESSAGE, ''),
        @EMAILQUEUED = case when APPEALMAILINGACTIVATEEMAILJOBSCHEDULE.ID is null then 0 else 1 end,
        @EMAILSENDDATE = APPEALMAILINGACTIVATEEMAILJOBSCHEDULE.EMAILJOBSTART
    from dbo.MKTSEGMENTATIONACTIVATEPROCESS
    inner join dbo.MKTSEGMENTATIONACTIVATEPROCESSSTATUS 
        on MKTSEGMENTATIONACTIVATEPROCESSSTATUS.PARAMETERSETID = MKTSEGMENTATIONACTIVATEPROCESS.ID
    inner join dbo.BUSINESSPROCESSSTATUS 
        on BUSINESSPROCESSSTATUS.ID = MKTSEGMENTATIONACTIVATEPROCESSSTATUS.ID
    left outer join dbo.APPEALMAILINGACTIVATEEMAILJOBSCHEDULE
        on MKTSEGMENTATIONACTIVATEPROCESS.ID = APPEALMAILINGACTIVATEEMAILJOBSCHEDULE.ID
    where MKTSEGMENTATIONACTIVATEPROCESS.SEGMENTATIONID = @SEGMENTATIONID
    order by BUSINESSPROCESSSTATUS.STARTEDON desc;

    if @STATUSCODE = 1
        begin
            declare @SQL nvarchar(max) = 'select @STATUSMESSAGE = STATUSMESSAGE from ##BUSINESSPROCESSSTATUS_' + replace(cast(@STATUSID as nvarchar(36)),'-','_');

            exec sp_executesql @SQL, N'@STATUSMESSAGE nvarchar(max) OUTPUT', @STATUSMESSAGE OUTPUT;
        end

    select
        @STATUSCODE as STATUSCODE,
        @STATUS as STATUS,
        @STATUSMESSAGE as STATUSMESSAGE,
        @ERRORMESSAGE as ERRORMESSAGE,
        @EMAILQUEUED as EMAILQUEUED,
        @EMAILSENDDATE as EMAILSENDDATE;

end