30/03/2008, 17:14
|
| | | Fecha de Ingreso: febrero-2008 Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 11 meses Puntos: 56 | |
ayuda con trigger con este triggers quiero que en el momento que halla el saldo minimo me mande un mensaje al correo, no he podido enviar el correo
CREATE TRIGGER TRI_Validarstockminimo
ON MVTRADE
FOR INSERT,UPDATE
AS
---Declaracion de Variables
DECLARE @Producto CHAR(20)
DECLARE @Minimo NUMERIC(20,7)
DECLARE @mSaldoProd NUMERIC(20,7)
DECLARE @Fecha DATETIME
DECLARE @mAno NUMERIC (4)
DECLARE @Periodo NUMERIC(2)
DECLARE @mMsgCuerpo CHAR(200)
---Extrae la informacion de la tabla temporal de inserted
DECLARE cTmpMVTRADE CURSOR FOR
SELECT I.Producto,M.Minimo,I.Fecha
FROM Inserted I,MTMERCIA M
WHERE I.Producto = M.Codigo AND
I.Origen = 'FAC'
---Abrir el Cursor temporal
OPEN cTmpMVTRADE
---Inicializa las variables con los primeros registros para comenzar el ciclo
FETCH NEXT FROM cTmpMVTRADE
INTO @Producto,@Minimo,@Fecha
---Realiza el ciclo de la Temporal cTmpMVTRADE
WHILE @@FETCH_STATUS = 0
BEGIN
---Busca el saldo del Producto
SET @mAno = YEAR (@Fecha)
SET @Periodo = MONTH (@Fecha)
SET @mSaldoProd = DBO.F_Saldo_Informe(@mAno,@Periodo,@Producto,'T',' C')
---Realizo validacion si el saldo del producto es menor al stock minimo
IF @mSaldoProd < @Minimo
BEGIN
---Mostra un mensaje
---RAISERROR ('El saldo del producto %s es menor al stock minimo',16,1,@Producto)
SET @mMsgCuerpo = 'El saldo de producto'+ @Producto +'Es menor al stock Minimo'
EXEC XP_SENDMAIL @recipients = 'direccion correo electronico',
@subject = 'Saldo menor stock Minimo',
@message = @mMsgCuerpo
END
---Salta al siguiente registro del cursor
FETCH NEXT FROM cTmpMVTRADE
INTO @Producto,@Minimo,@Fecha
END
---Cerra Cursor
CLOSE cTmpMVTRADE
DEALLOCATE cTmpMVTRADE |