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
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
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