
/*------ ATD 397475 ------*/

IF NOT EXISTS (SELECT 1 FROM SYSOBJECTS WHERE NAME = 'LOG_ALTERACAO_TPO_PEDIDO_Ficha_397475')
 BEGIN
	CREATE TABLE LOG_ALTERACAO_TPO_PEDIDO_Ficha_397475(
		NumPed INT, 
		Data DATETIME, 
		TPOAnterior VARCHAR(254), 
		TPOAtual VARCHAR(254), 
		SitVenAnterior CHAR(1),
		SitVenAtual CHAR(1),
		Comando VARCHAR(4000), 
		Sistema VARCHAR(100), 
		Estacao VARCHAR(100), 
		Usuario VARCHAR(100),
		Observacao VARCHAR(100) )
 END
GO

IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE NAME = 'Monitorar_Alteracao_TPO_Pedido_Ficha_397475')
	DROP TRIGGER Monitorar_Alteracao_TPO_Pedido_Ficha_397475
GO

CREATE TRIGGER Monitorar_Alteracao_TPO_Pedido_Ficha_397475 ON PediCliCad FOR UPDATE AS
BEGIN
	SET NOCOUNT ON 
	Declare @Comando varchar(4000), @ExecStr varchar(50), @Estacao varchar(100), 
			@Usuario varchar(100), @Sistema varchar(100)
			
	CREATE TABLE #inputbuffer (  EventType varchar(30), Paramet int, EventInfo varchar(4000) ) 
	SET @ExecStr = 'DBCC INPUTBUFFER(' + STR(@@SPID) + ')' 
	INSERT INTO #inputbuffer
			
	EXEC (@ExecStr)
			
	SET @Comando = (SELECT EventInfo FROM #inputbuffer)
	DROP TABLE #inputbuffer
			
	SELECT @Estacao = LEFT(host_name,100), 
			@Usuario = LEFT(login_name,100), 
			@Sistema = LEFT(program_name,100)
	FROM sys.dm_exec_sessions 
	where session_id = @@spid
			
	INSERT INTO LOG_ALTERACAO_TPO_PEDIDO_Ficha_397475(NumPed, Data, TPOAnterior, TPOAtual, SitVenAnterior, SitVenAtual, Comando, Sistema, Estacao, Usuario, Observacao) 
		SELECT I.NumPed, GETDATE(), rtrim(ltrim(D.TPO)) + ' - ' + TD.Nome, rtrim(ltrim(I.TPO)) + ' - ' + T.Nome, D.SitVen, I.SitVen, 
			   @Comando, @Sistema, @Estacao, @Usuario, 'Alterou TPO Pedido'
		FROM Inserted I
			JOIN Deleted D	ON D.NumPed = I.NumPed
			JOIN PediCliCad P ON P.NumPed = I.NumPed
			JOIN TPO_R T ON T.HierarquiaNumero = I.TPO 
			JOIN TPO_R TD ON TD.HierarquiaNumero = D.TPO 
		WHERE rtrim(ltrim(I.TPO)) <> rtrim(ltrim(D.TPO))
	SET NOCOUNT OFF
	RETURN
END
GO