bluebunny72 icon

ILC_BGTaskHistory_mstAfterUpdate

bluebunny72 | PRO | 08/14/21 03:40:29 AM UTC | 0 ⭐ | 8319 👁️ | Never ⏰ | []
T-SQL |

2.91 KB

|

None

|

0 👍

/

0 👎

IF EXISTS(SELECT TOP 1 1 FROM sys.triggers WHERE name = 'ILC_BGTaskHistory_mstAfterUpdate')
    DROP TRIGGER [dbo].[ILC_BGTaskHistory_mstAfterUpdate] 
GO
 
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TRIGGER [dbo].[ILC_BGTaskHistory_mstAfterUpdate]
ON [dbo].[BGTaskHistory_mst]
AFTER Update
AS
    DECLARE @SiteRef dbo.SiteType = dbo.GetSiteContext()
 
    DECLARE @CompletionStatusBefore as varchar(100)
    DECLARE @CompletionStatusAfter as varchar(100)
    DECLARE @AlertSubjectParm1 as varchar(max)
    DECLARE @AlertMsgParm1 as varchar(max)
    DECLARE @ConfigName varchar(8)
 
    SELECT TOP 1 @ConfigName = [dbo].[ILC_GetConfigurationName]()
 
    SELECT @CompletionStatusAfter = ISNULL(CAST(CompletionStatus as VARCHAR(100)),'EMPTY')
    FROM inserted
 
    IF (@CompletionStatusAfter <> '0') 
    BEGIN
        SELECT @CompletionStatusBefore = ISNULL(CAST(CompletionStatus as VARCHAR(100)),'EMPTY')
        FROM deleted
 
        IF (@CompletionStatusBefore <> @CompletionStatusAfter)
        BEGIN
            SELECT
                 @AlertSubjectParm1 = AlertSubjectParm1
                ,@AlertMsgParm1 = AlertMsgParm1
            FROM
                (SELECT 
                     @ConfigName + ' Background Task ' + TaskName + ' has failed' as AlertSubjectParm1
                    ,'Background Task ' + ISNULL(CAST(TaskNumber as VARCHAR(100)),'') + ' ' + ISNULL(TaskName,'') + ', initiated by user ' + ISNULL(RequestingUser,'') + ' failed at ' 
                    + ISNULL(CAST(MONTH(CompletionDate) as VARCHAR(2)) + '-' +  CAST(DAY(CompletionDate) as VARCHAR(2)) + '-' + CAST(YEAR(CompletionDate) as VARCHAR(4)) + ' ' + CAST(DATEPART(hh,CompletionDate) as VARCHAR(2)) + ':' +  CAST(DATEPART(MINUTE,CompletionDate) as VARCHAR(2)),'') 
                    + ', with a Completion Status of ' + ISNULL(CAST(CompletionStatus as VARCHAR(100)),'') + ' and the error message:  ' +  CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + ISNULL(TaskErrorMsg,'') as AlertMsgParm1
                FROM inserted) NotifyPublicationSubscriber
   
            EXEC dbo.NotifyPublicationSubscribersSp 
                @PublicationName        = 'ILC_BackgroundTaskFailure'               
                ,@AlertSubject          = 'D=Text0'
                ,@AlertMsg              = 'E=Msg'
                ,@AlertHTMLMsg          = NULL  -- For GenericSendEmail: @AlertHTMLMsg overrides @AlertMsg; For GenericNotify: Both can be used.
                ,@AlertSubjectParm1     = @AlertSubjectParm1
                ,@AlertMsgParm1         = @AlertMsgParm1
                ,@Category              = 'IT Admin'
        END
    END
 
GO
 
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ILC_GetConfigurationName]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
    DROP FUNCTION [dbo].[ILC_GetConfigurationName]
GO
 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
CREATE FUNCTION [dbo].[ILC_GetConfigurationName] 
(   
)
RETURNS SiteType 
AS
BEGIN
    DECLARE @ReturnValue SiteType
    
    DECLARE @DBName nvarchar(16) = DB_NAME() 
    DECLARE @SiteRef dbo.SiteType = (select [site] from parms where parm_key = 0)
 
    SELECT @ReturnValue = SUBSTRING(@DBName,1,3) + SUBSTRING(@SiteRef,4,LEN(@SiteRef) - 3) 
    
    RETURN @ReturnValue
 
END

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎