Restringir duplicar campo identificación


#1

Buenos dias estimados, me podrían ayudar en este problema

En revisión de los Socios de Negocios, me encuentro con varios duplicados con diferentes nombres pero con el mismo numero de identificación, como puedo restringir ese campo en Sap Bussiness One, que no me permita la creación de un cliente si el numero de identificación que estoy ingresando ya existe.

Agradecería mucho sus comentarios


#2

Si te refieres al RFC, creo ya existe un post sobre ello, revisalo.


#3

Gracias @juliancab , ejecuto la consulta creando un nuevo sn y con el mismo numero de identificación y lo crea inmediatamente.


#4

no entendi tu ejecucion, lo agregaste al transaccion? o como?


#5

Podrías comentar si lo agregaste al TN? Yo lo tengo en produccion y funcionando.


#6

Si claro @juliancab, agregue la TN , al ejecutarlo no envía error, pero al crear un nuevo SN en SAP Business One con el mismo numero de identificación de otro que ya tengo registrado, lo crea sin problemas


#7

Haber checate esta version mas light.

declare @rfc nvarchar (13)
declare @existe varchar(13)

if @object_type = ‘2’ and @transaction_type in (‘A’,‘U’)
begin
select @rfc = a.LicTradNum from OCRD a where a.cardCode = @list_of_cols_val_tab_del
select @existe = b.licTradNum from ocrd b where b.licTradNum = @rfc and b.cardCode <> @list_of_cols_val_tab_del

   if @existe is not null

begin
Set @error = 1
Set @error_message = ‘El ’ +@RFC+ ’ ya se encuentra registrado al menos en un Socio de Negocios’
end
end


#8

Igual @juliancab, borre las otras transacciones que tenia y deje solo la que publicaste y sigue creando el SN con el mismo numero de identificación.


image


#9

Basada en tu procedimiento, lo modifique con un count y logre validar que no permita la creación de un SN si tiene el numero de identificacion ya en otro SN.

Muchas gracias @juliancab

if @object_type = ‘2’ and @transaction_type in (‘A’,‘U’)
begin
declare @rfc nvarchar (16)
select @rfc = a.LicTradNum from OCRD a where a.cardCode = @list_of_cols_val_tab_del

if (select count (b.licTradNum) from ocrd b where b.licTradNum = @rfc) >1

begin
Set @error = 1
Set @error_message = ‘El ‘+@rfc+’ ya se encuentra registrado al menos en un Socio de Negocios’
end
end


#10

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