cancel
Showing results for 
Search instead for 
Did you mean: 

Validación para determinar un dato repetido

Former Member
0 Kudos

Hola a todos!

El presente es para solicitar apoyo referente a una validación que necesito realizar en el dato maestro de artículo. Voy a utilizar un campo estándar para guardar un código de referencia.

Aqui coloco la validación que he estado realizando:

IF ((@object_type = '4' AND @transaction_type = 'A' )) or ((@object_type = '4' AND @transaction_type = 'U' ))

BEGIN

IF EXISTS

(SELECT T0.ItemCode FROM OITM T0 WHERE (T0.SuppCatNum Is Null) and T0.ItemCode = @list_of_cols_val_tab_del)

BEGIN

SET @error = -4

SET @error_message = 'Falta el Código de referencia'

END

END

Esta validación funciona para cuando el, campo T0.SuppCatNum, está vacio bien sea creando o actualizando el dato maestro de artículo. Pero necesito validar que el código que se está registrando, en dicho campo, no esté creado en la OITM. ¿Cómo puedo realizar esto?

Esperando que puedan brindarme su apoyo.

Saludos cordiales.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola Alba:

Corrijo,

Prueba con el siguiente código:

IF ((@object_type = '4' AND @transaction_type = 'A' )) or ((@object_type = '4' AND @transaction_type = 'U' ))
DECLARE @FAB AS NVARCHAR(30)
DECLARE @CONSULTA INT
SET @FAB = (SELECT T0.SuppCatNum FROM OITM T0 WHERE T0.ItemCode = @list_of_cols_val_tab_del)
SET @CONSULTA = (SELECT COUNT(T0.SuppCatNum) FROM OITM T0 WHERE T0.SuppCatNum = @FAB)
BEGIN
IF EXISTS 
(SELECT T0.ItemCode FROM OITM T0 WHERE (T0.SuppCatNum Is Null) and T0.ItemCode = @list_of_cols_val_tab_del)
BEGIN
SET @error = -4
SET @error_message = 'Falta el Código de referencia'
END 
IF @CONSULTA > '1'
SET @error = -4
SET @error_message = 'Este Código de referencia ya existe'
END

Saludos Cordiales,

Former Member
0 Kudos

Hola Paul.

He probado la validación que has colocado y funciona correctamente, por lo que el problema ha sido resuelto.

Agradezco la ayuda que me has brindado. Mil gracias por la solución.

Saludos!!

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola Alba:

Prueba con el siguiente código:

IF ((@object_type = '4' AND @transaction_type = 'A' )) or ((@object_type = '4' AND @transaction_type = 'U' ))
DECLARE @FAB AS NVARCHAR(30)
DECLARE @CONSULTA INT
SET @FAB = (SELECT T0.SuppCatNum FROM OITM T0 WHERE T0.ItemCode = @list_of_cols_val_tab_del)
SET @CONSULTA = (SELECT COUNT(T0.SuppCatNum) FROM OITM T0 WHERE T0.SuppCatNum = @FAB)
BEGIN
IF EXISTS 
(SELECT T0.ItemCode FROM OITM T0 WHERE (T0.SuppCatNum Is Null) and T0.ItemCode = @list_of_cols_val_tab_del)
BEGIN
SET @error = -4
SET @error_message = 'Falta el Código de referencia'
END 
IF @CONSULTA > '0'
SET @error = -4
SET @error_message = 'Este Código de referencia ya existe'
END

Saludos Cordiales,