Consulta Notification Transaction

Estimada comunidad como están?, tengo una consulta, estoy generan una restricción de un campo U en un documento de entrega (no debe superar los 30 caracteres), el problema que tengo que esta se activa solo en la actualización del documento y no en la creación. Y se necesita que se active en las dos modalidades. Favor alguien me puede ayudar en donde puedo estar equivocado.
Gracias.

if @object_type='15'  and (@transaction_type='A' or @transaction_type='U') 
begin


if (select len(T0.U_NOMBRE_CHOFER) from ODLN T0 where  T0.DocEntry = @list_of_cols_val_tab_del) > 30


	begin 

		set @error = 1355
		set @error_message = 'El campo "Nombre Chofer" solo permite 30 caracteres ingresar solo el nombre, por favor'
	end
end

Hola @Patricio_Guti, otra forma de poner es @transaction_type in(‘A’,‘U’). Pero, si no me equivoco al no especificar una se debería aplicar a ambas modalidades.
podrías probar eso en el ambiente de prueba primero.

if @object_type='15'  and (@transaction_type='A' or @transaction_type='U') 
begin

gracias @mdjvp por la respuesta, también probé con con lo que indica y me sucede lo mismo.

Prueba con este codigo

if @object_type='15'  and (@transaction_type='A' or @transaction_type='U') 
begin

declare @Chofer as INT
set @Chofer = (select len(T0.U_NOMBRE_CHOFER) from ODLN T0 where  T0.DocEntry = @list_of_cols_val_tab_del)

if Chofer > 30
	begin 

		set @error = 1355
		set @error_message = 'El campo "Nombre Chofer" solo permite 30 caracteres ingresar solo el nombre, por favor'
	end
end

Gracias @coke se realizo la prueba de la forma que indicas y sigue teniendo el mismo problema.

Lo acabo de probar al actualizar y al crear, copia y pega ojala al final del transaction y me comentas

if @object_type=‘15’ and @transaction_type in (‘A’,‘U’) and @error = 0
begin

declare @Chofer as int
set @Chofer = (select len(T0.U_NOMBRE_CHOFER) from ODLN T0 where T0.DocEntry = @list_of_cols_val_tab_del)

if replace(@Chofer,' ','') > 30
begin
	set @error = 1355
	set @error_message = 'El campo nombre solo permite 30 caracteres ingresar solo el nombre, por favor'
end

end

1 me gusta

El error lo tienes en la parte superior, debe quedar así:

if @object_type='15'  and @transaction_type IN ('A','U')
begin

Ahí ya te toma tanto el Add, como el Update