USP_BBWORKFLOW_REPORT_QUEUE_ERROR

Definition

Copy


      create procedure dbo.USP_BBWORKFLOW_REPORT_QUEUE_ERROR 

/*

Used by the workflow queue USP_BBWORKFLOW_BBAPPFX_WORKFLOW_MESSAGE_INITIATOR_QUEUE_ACTIVATIONHANDLER to report errors.

*/
as

set nocount on;

declare 
    @ErrorMessage NVARCHAR(2000),
    @ErrorNumber INT,
    @ErrorSeverity INT,
    @ErrorState INT,
    @ErrorLine INT,
    @ErrorProcedure NVARCHAR(400);

select 
    @ErrorNumber = ERROR_NUMBER(),
    @ErrorSeverity = ERROR_SEVERITY(),
    @ErrorState = ERROR_STATE(),
    @ErrorLine = ERROR_LINE();

select @ErrorMessage = ERROR_MESSAGE();

if(ERROR_PROCEDURE() is null)
    select @ErrorProcedure = '';
else
    select @ErrorProcedure = RTRIM(ERROR_PROCEDURE()) ;


if @ErrorState = 0 
    set @ErrorState = 13;

if @ErrorSeverity = 0 
    set @ErrorSeverity = 13;

if @ErrorLine is null
    set @ErrorLine=0;

if @ErrorNumber is null
    set @ErrorNumber=0;

if @ErrorMessage is null
    set @ErrorMessage=N'?';

declare @InfoMsg nvarchar(2000);

set @InfoMsg=N'BBERR_WF_QUEUE_ERROR_MESSAGE:' + @ErrorMessage;
raiserror (@InfoMsg,1,11);


set @InfoMsg='BBERR_WF_QUEUE_ERROR_NUMBER:' + cast(@ErrorNumber as nvarchar(10));
raiserror (@InfoMsg,2,22);


set @InfoMsg='BBERR_WF_QUEUE_ORIGINAL_PROCEDURE:' + @ErrorProcedure;
raiserror (@InfoMsg,3,33);

set @InfoMsg='BBERR_WF_QUEUE_ORIGINAL_LINE_NUMBER:' + cast(@ErrorLine as nvarchar(10));
raiserror (@InfoMsg,4,44);

/*
 Now raise error at original severity.  
*/
raiserror 
    (
    @ErrorMessage
    @ErrorSeverity
    @ErrorState 
    );

return 0;