Hola a todos,
Tengo un trigger que envía un mensaje de error y detiene la transaccion si
se cumple una condición, la cuestion es que cuando envío el mensaje (la
aplicación esta en VisualFox), me sale otra cosa, si valida bien las
condiciones, pero me sale lo siguiente
No es posible pasar datos hacia tabla de inventario.
Posible causa :
Mensaje : Error de conectividad: [Microsoft][ODBC SQL Server Driver][SQL
Server]1
Mientras que si estoy en acces si sale bien el error despues del 1 es
decir,
No es posible pasar datos hacia tabla de inventario.
Posible causa :
Mensaje : Error de conectividad: [Microsoft][ODBC SQL Server Driver][SQL
Server]1La orden 17841 ya se encuentra cumplida, comuniquese con costos
(#50000)
el trigger es el siguiente: (la primera parte, donde valida si es 0 si saca
el mensaje bien en ambos programas).
Mil gracias por su valiosa ayuda
CREATE TRIGGER MvtoInvValida
ON MVTOINV
FOR INSERT, UPDATE
AS
DECLARE @TipoMvto CHAR(5), @OrdenNro INT, @Cumplida INT
SELECT @TipoMvto = TIPOMVTO, @OrdenNro = ORDENNRO
FROM inserted WHERE TIPOMVTO = 'S13' OR TIPOMVTO = 'S19'
IF (@OrdenNro = 0)
BEGIN
RAISERROR ('Este tipo de movimiento no puede tener Orden 0!!',
16, 1)
ROLLBACK TRANSACTION
END
ELSE
BEGIN
SELECT @OrdenNro = CONVERT(INT, i.ORDENNRO) FROM inserted i
WHERE i.TIPOMVTO = 'S13' OR i.TIPOMVTO = 'S19'
SELECT @Cumplida = o.Cumplida
FROM [SERVIDOR\SERVIDOR2000].SIP.DBO.COS_ORDENES o
WHERE o.[Número Orden] = @OrdenNro
PRINT @Cumplida
IF (@Cumplida = 1)
BEGIN
RAISERROR ('La orden %u ya se encuentra cumplida, comuniquese con
costos!!',
16, 1, @OrdenNro)
ROLLBACK TRANSACTION
END
END
Leer las respuestas