Transaction Notificacion pedido Y/O solicitud

Hola buen dia

recurriendo a los expertos estoy tratando de bloquear un campo creado por el usuario que se llama U_categoria, el cual quiero ponerlo como campo obligatorio.

If @object_type = '22' and @transaction_type IN ('A','U')
BEGIN 
	declare @categoria as nvarchar(10)
	select @categoria = '-1000'
	
	SELECT @categoria=isnull(U_categoria,'-1000') 
	From OPOR WHERE U_categoria = @list_of_cols_val_tab_del 
	
	
    IF @Descripcion = '-1000'
	  BEGIN 
		SET @error = -9090
		SET @error_message = 'El Campo Categoria no puede estar vacio'	
		 
		 
		 END
		 END

quisiera saber si voy bien en mi consulta

gracias de antemano

logre hacerlo funcionar mediante la siguiente consulta

If @object_type = '22' and @transaction_type IN ('A','U')
BEGIN 
	declare @categoria as nvarchar(10)
	select @categoria = '-1000'
	
	SELECT @categoria=isnull(U_categoria,'-1000') 
	From OPOR WHERE U_categoria = @list_of_cols_val_tab_del 
	
	
    IF @categoria = '-1000'
	  BEGIN 
		SET @error = -9090
		SET @error_message = 'El Campo Categoria no puede estar vacio'	
		 
		 
		 END
		 END

pero tengo una duda mi campo es de la siguiente caracteristica pero al poner el campo no me dice que es vacio.

alguna sugerencia

lalala

SI tu campo es de tipo lista, nunca deberia estar vacio, antes de hacer una validacion, te sugiero definir bien el UDF, marcas que no permita valores nulos y pones uno de los valores por defecto, con esto te evitas codigo del bloqueo en el TN.
Mira este ejemplo:

Saludos,

2 Me gusta

Es correcto, este seria el mejor escenario. Me ganaste la respuesta

Es una buena opción la que comenta @Willy_Caldero pero ya me toco que no puede estar vació y tampoco con una opción por defecto, la solución fue crear una opción del tipo Valor = ‘N’ descripción =‘Selecciona un valor’, la opcion N es el valor por default y en el transaction bloqueas cuando el valor es N

Este ultimo caso no lo entendi amigo me puede explicar mas a detalle?

para poder bloquear el campo que necesito.

saludos

El campo lo creas similar a esto:

Captura1

Después en el transaction haces la validación, si el valor del campo es NA devuelve un error indicando que seleccionen una categoría

Buen Dia

perfecto deje trato con esa sugerencia y les hago saber si funciono

gracias amigo por su respuesta.

Buen Dia

tengo la consulta de la siguiente manera ya cree los campos tal cual hiciste el ejemplo pero dentro de la consulta donde puedo ponerle si el valor es NA


If @object_type = '22' and @transaction_type IN ('A','U')
BEGIN 
	declare @categoria as nvarchar(10)
	select @categoria = 'NA'
	
	SELECT @categoria=isnull (U_categoria,'NA') 
	From OPOR WHERE U_categoria = @list_of_cols_val_tab_del 
	
	
    IF @categoria = 'NA'
	  BEGIN 
		SET @error = -9090
		SET @error_message = 'El Campo Categoria no puede estar vacio'	
		 
		 
		 END
		 END

saludos

Buen Dia les comparto la solucion para que el que le vaya a servir

muchas gracias a todos por su apoyo

IF @object_type = '1470000113' AND (@transaction_type = 'A' OR @transaction_type = 'U')

BEGIN

   IF @transaction_type = 'A'  or @transaction_type = 'U'

 BEGIN

    SET @categoria1=( SELECT t0.U_categoria FROM OPRQ T0 where DocEntry = @list_of_cols_val_tab_del) 
 
IF @categoria1='NA'
BEGIN

 SELECT @error = 30

 SELECT @error_message = 'El documento no puede ser creado seleccione CATEGORIA'

 END
 END
 END

2 Me gusta

Un detalle estas usando tipo de transaccion U , o sea actualizar , y todos aquellos documentos generados previos a la creacion del campo U_categoria tendran valor null , por lo que en la query
SET @categoria1=( SELECT t0.U_categoria FROM OPRQ T0 where DocEntry = @list_of_cols_val_tab_del)
deberia usar un isnull(t0.U_categoria,‘NA’) , y asi los documentos antiguos que sean actulizados seran controlados tambien.

1 me gusta

buen dia francisco gracias por su observacion en mi transaction, lo que pasa es que los demas documentos no se actualizaran debido a que no entraran en la consulta de mi sistema, me dijieron en mi empresa que empezara a trabajar, y a partir del viernes pasado todo documento tendra su validacion, ahora voy a trabajar en una alerta para que le avise a mi compañera mediante una alerta que revise un reporte de igual manera para solicitudes de compra y asi les de el seguimiento esperado. en dicho reporte contemplo lo que ya esta cerrado y lo que esta abierto.

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.