UDF como campo obligatorio en Facturas - TN

Buenas tardes

Trato de hacer obligatorio un UDF de la tabla OINV si hace el bloqueo pero aun cunado pongo completado en el campo sigue arrojando error

alguien que me pueda ayudar?

Cabe mencionado que el UDF va ligado a una tabla definida donde solo tiene valor nulo o 01- completado

declare @hora2 nvarchar(max)

if @object_type = ‘13’ and @transaction_type in (‘A’ )
select @hora2 = U_Hora_1
from OINV
where DocEntry = @list_of_cols_val_tab_del and Series in (‘9’)
if @hora2 IS NULL-
begin
Set @error = 50002
Set @error_message = ‘Tienes que llenar el campo “status embarque”’
end

Hola @Un_Tal_Erik_J, no es mas facil que tu UDF, tenga valores discretos, es decir una lista, poner un valor por defecto, y marcar el UDF como obligatorio?
así te podrías evitar hacer el SP

Saludos,

al marcarlo como obligatorio desde el udf aplica para todos los documentos de Marketing , en este caso lo requiero limitar solo a Facturas.

el detalle de este es que necesito sea obligatorio ya que tengo ligada una BF que cuando este campo se actualiza me arroja un valor en otro UDF que sirve para un reporte y actualmente tengo problemas en que el usuario olvida colocar y la informacion esta incompleta

ok, tu consulta hay que ajustarla un poco:

declare @hora2 nvarchar(max)

if @object_type = ‘13’ and @transaction_type in (‘A’ )
BEGIN
if EXISTS(select ISNULL(U_Hora_1,'')
from OINV
where DocEntry = @list_of_cols_val_tab_del and Series in (‘9’)
and ISNULL(U_Hora_1,'')='')
begin
Set @error = 50002
Set @error_message = ‘Tienes que llenar el campo “status embarque”’
end
END

Estoy asumiendo que tu campo U_Hora_1 es de tipo texto, si es numerico cambias el IsNull por “ISNULL(U_Hora_1,0)”

Espero te ayude.

Saludos,

Podrías intentar de esta forma

if @object_type = ‘13’ and @transaction_type in (‘A’ )
begin
	if (select U_Hora_1 from OINV where DocEntry = @list_of_cols_val_tab_del and Series=9) is null
	begin
		Set @error = 50002
		Set @error_message = ‘Tienes que llenar el campo “status embarque”’
	end
end

es de tipo alfanumerico pero el dato a colocar es un texto , probare y te aviso

Gracias

Lo checo y te informo si me funciona

Gracias

Realiza el bloqueo pero no considera las series lo aplica general

@Willy_Caldero

Me funciono muy bien , ahora tengo una duda si solo quisiera que pasara cuando el valor del campo sea nulo?