Transaction Notification SAP Business One

Hola buenos días.
Estaba intentando que no se pueda añadir otro IC con el mismo NIF, pero que si ya existe alguno en la bbdd se pueda actualizar.

El código siguiente de transaction solo funcione cuando es Add, cuando es Update, que no lo tenga en cuenta, pero no veo la forma. quizás es que no se puede evaluar solo en Add y el Update lo considera como Add.

IF @object_type = '2' AND (@transaction_type = N'A' ) Declare @Tipo As Varchar (1)
Declare @Cuenta As Varchar(10)
Set @Tipo = (Select CardType From OCRD Where CardCode = @list_of_cols_val_tab_del)
	If @Tipo = 'L' Set @Tipo = 'C'
	
IF 	(Select LicTradNum From OCRD Where CardCode = @list_of_cols_val_tab_del) In (Select Distinct LicTradNum From OCRD Where CardType = @Tipo And CardCode <> @list_of_cols_val_tab_del And LicTradNum IS Not Null And LicTradNum <> '')
BEGIN
    Select @error = 1
	Select @error_message=N'CIF cliente/proveedor duplicado'
	END

Gracias y un saludo

Hola @meqs, echale una mirada a este tema: Restringir duplicar campo identificación

Saludos,

1 me gusta

Hola @meqs
debes cambiar la condicion del primer IF.

@object_type = '2' AND (@transaction_type = 'A' OR @transaction_type = 'U') 

Con lo que estaba posteado he modificado y logrado el objetivo.
Gracias @Willy_Caldero

if @object_type = '2' and @transaction_type in ('A')
begin
declare @nif nvarchar (16)
select @nif = 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 = @nif) >1

begin
Set @error = 1	
Set @error_message = @nif+' - Este Nif ya existe en otro Interlocutor Comercial'
end
end
2 Me gusta