cancel
Showing results for 
Search instead for 
Did you mean: 

Evitar que dato del Campo de Usuario se duplique

former_member326598
Participant
0 Kudos

Estimados amigos:

Tengo un campo de usuario llamado Orden de Compra, quisiera hacer una validacion o en todo caso que podria emplear para que el numero que ingresen no se duplique siempre y cuando la Orden de Venta este en estado abierto

Espero me puedan ayudar a como hacer esta validacion.

Slds

QASAC

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member188440
Active Contributor
0 Kudos

Prueba esta opcion con el status abierto


IF ((@object_type = '17' AND @transaction_type = 'A' )) or ((@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' and U_userfield = @REF)
end
IF @existe >1
begin
SET @error = -1
SET @error_message = 'Esta referencia existe en otra orden abierta'
END

saludos

Former Member
0 Kudos

Hola Jesus...

Revisa el siguiente post..., plantea un caso de validación para datos repetidos

A partir de lo que entiendo sería mas 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,

Edited by: Paul Ponce on Jan 12, 2010 5:42 PM

former_member326598
Participant
0 Kudos

Una consulta quizas me puedan sacar de mi ignorancia veo que utilizan o utilizas en el (SET @error) = -4 Porque??? en mis validacion yo uso 1, mi pregunta es que codigos hay y para que se usa cada uno

Espero puedan resolver mi inquietud

Slds

QASAC

Former Member
0 Kudos

Hola...

La verdad es que no hay una regla para los mensajes. Lo que si se aplica en algunos casos, es llevar el control de los diferentes mensajes de error a través de este indicador.

Saludos Cordiales,

Former Member
0 Kudos

Hola...

La verdad es que no hay una regla para los mensajes. Lo que si se aplica en algunos casos, es llevar el control de los diferentes mensajes de error a través de este indicador.

Saludos Cordiales,

former_member326598
Participant
0 Kudos

Gracias el ultimo codigo me sirvio de mucho

Slds

QASAC