![]() |
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 |
Re: ayuda con trigger ¿algun mensaje de error? Recuerda que en la tabla Inserted, puede haber mas de un registro |
Re: ayuda con trigger No aparece ningun error el trigger sirve, pero no manda el mensaje al correo |
| La zona horaria es GMT -6. Ahora son las 00:06. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.