Hola...
En realidad, no hay una regla específica para los mensajes. Sin embargo, en algunos casos, es útil llevar un control de los diferentes mensajes de error a través de este indicador.
Saludos cordiales,
Avalados por :
Estimados amigos:
Tengo un campo de usuario llamado Orden de Compra, quisiera hacer una validación o en todo caso qué podría emplear para que el número que ingresen no se duplique siempre y cuando la Orden de Venta esté en estado abierto.
Espero me puedan ayudar en cómo hacer esta validación.
Saludos
QASAC
Hola...
En realidad, no hay una regla específica para los mensajes. Sin embargo, en algunos casos, es útil llevar un control de los diferentes mensajes de error a través de este indicador.
Saludos cordiales,
Una consulta que quizás pueda sacarme de mi ignorancia. Veo que utilizan o utilizas en el (SET @error) = -4. ¿Por qué? En mis validaciones yo uso 1. Mi pregunta es ¿qué códigos hay y para qué se usa cada uno?
Espero puedan resolver mi inquietud.
Saludos,
QASAC
Hola Jesús...
Revisa el siguiente post..., plantea un caso de validación para datos repetidos
A partir de lo que entiendo sería más o menos así..., donde U_nnn sería el campo de usuario
IF ((@object_type = '17' AND @transaction_type = 'A' )) or ((@object_type = '17' AND @transaction_type = 'U' ))
DECLARE @FAB AS NVARCHAR(30)
DECLARE @CONSULTA INT
SET @FAB = (SELECT T0.U_nnn FROM ORDR T0 WHERE T0.DocNum = @list_of_cols_val_tab_del)
SET @CONSULTA = (SELECT COUNT(T0.U_nnn) FROM ORDR T0 WHERE T0.U_nnn = @FAB)
BEGIN
IF EXISTS
(SELECT T0.DocNum FROM ORDR T0 WHERE (T0.U_nnn Is Null) and T0.DocNum = @list_of_cols_val_tab_del)
BEGIN
SET @error = -4
SET @error_message = 'Falta el nnn'
END
IF @CONSULTA > '1'
SET @error = -4
SET @error_message = 'Este Campo de usuario no puede ser duplicado'
END
Espero te sea de ayuda,
Saludos Cordiales,
Editado por: Paul Ponce el 12 de enero de 2010 a las 5:42 PM
Prueba esta opción con el estado abierto
IF ((@object_type = '17' AND @transaction_type = 'A' )) o ((@object_type = '17' AND @transaction_type = 'U' ))
begin
DECLARE @REF AS NVARCHAR(10)
DECLARE @existe INT
SET @REF = (SELECT U_userfield FROM ORDR WHERE DocNum = @list_of_cols_val_tab_del)
SET @existe = (SELECT COUNT(U_userfield) FROM ORDR WHERE DocStatus='O' y U_userfield = @REF)
end
IF @existe >1
begin
SET @error = -1
SET @error_message = 'Esta referencia existe en otra orden abierta'
END
saludos
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute