Transaction Notification Socio Negocio repetido

Hola, tengo el Siguiente Transaction Notification para que no permita crear un Socio de Negocio si tiene el mismo Documento (Campo OCRD,LicTradNum)

Quisiera colocar una Condición, que permita crear cuando se cambia el tipo de Socio de Negocio, es Decir a Cliente, Proveedor, Lead. Porque puede haber el mismo Socio de Negocio en Cliente y Proveedor, pero el Transaction Notification actual no deja crearlo:

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

if @object_type = '2' and @transaction_type in ('A')
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 Nit o Cedula ' +@RFC+ ' ya se encuentra registrado en otro Socio de Negocios, Validar que este creado'	
end
end

Me podrían ayudar a ver como se coloca la condición, de que permita crear cuando se cambia el Tipo de Socio de Negocio.

Gracias,

agrega CardType en el where, para que te compare que sean del mismo tipo.

Muchas gracias @renba78 pero como quedaría el query?

SI alguien me puede ayudar en la consulta se los agradeceria.

Para ajustar tu Transaction Notification en SAP Business One de manera que permita la creación de un Socio de Negocio (Business Partner) con el mismo LicTradNum (RFC) siempre que el tipo de Socio de Negocio (Cliente, Proveedor, Lead) sea diferente, puedes modificar la consulta SQL para comparar también el tipo de Socio de Negocio (CardType).

Aquí te dejo el código ajustado:

declare @rfc nvarchar(13)
declare @existe varchar(13)
declare @CardType char(1)

if @object_type = '2' and @transaction_type in ('A')
begin
    select @rfc = a.LicTradNum, @CardType = a.CardType
    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.CardType = @CardType 
    and b.cardCode <> @list_of_cols_val_tab_del

    if @existe is not null
    begin
        set @error = 1
        set @error_message = 'El Nit o Cedula ' + @rfc + ' ya se encuentra registrado en otro Socio de Negocios del mismo tipo, validar que este creado'
    end
end

Explicación del Código:

  1. Declaración de Variables:

    • @rfc: Para almacenar el LicTradNum (RFC) del Socio de Negocios.
    • @existe: Para verificar si ya existe un LicTradNum en otro Socio de Negocios.
    • @CardType: Para almacenar el tipo de Socio de Negocio (Cliente, Proveedor, Lead).
  2. Condición Inicial:

    • Verifica si el objeto es un Socio de Negocio (@object_type = '2') y si la transacción es una adición (@transaction_type in ('A')).
  3. Selección de LicTradNum y CardType:

    • Selecciona el LicTradNum y el CardType del Socio de Negocio actual.
  4. Comprobación de Existencia:

    • Busca si ya existe un Socio de Negocio con el mismo LicTradNum y el mismo CardType (es decir, del mismo tipo), pero con un código diferente (cardCode <> @list_of_cols_val_tab_del).
  5. Generación del Error:

    • Si encuentra un Socio de Negocio existente con el mismo LicTradNum y el mismo CardType, establece un error y un mensaje de error.

Condiciones Específicas:

  • CardType:
    • 'C': Cliente
    • 'S': Proveedor
    • 'L': Lead

Consideraciones:

  • Este ajuste permite la creación de Socios de Negocio con el mismo LicTradNum siempre que pertenezcan a diferentes tipos de Socios de Negocio.
  • Si necesitas diferenciar más tipos o agregar condiciones adicionales, puedes extender el código según sea necesario.

Con estos ajustes, podrás permitir la creación de Socios de Negocio con el mismo RFC siempre que sean de diferentes tipos (Cliente, Proveedor, Lead).

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.