Modificar Business Partners con SDK DI API

Muy Buenas Tardes comunidad. Tengo el siguiente problema. Estoy aprendiendo a utilizar SDK Di API, y estoy realizando a través de una planilla excel la modificación del empleado del departamento de ventas (slpcode). He utilizado código que encontré en la comunidad, lo fui adaptando pero no entiendo el error, les agradecería su ayuda, al llegar a esta instrucción ' BP.SlpCode = vendedor', me arroja e error 438 el objeto no admite esta propiedad. Este es el código.

Muchas gracias por su ayuda.

   Dim BP As SAPbobsCOM.BusinessPartners   
    Set BP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
    Dim FilaDatos As Integer
    FilaDatos = 1
    Dim iFactSNPos As Integer
    
    Do While [detCardCode].Cells(FilaDatos, 1) <> ""
        
        ' DATOS DETALLE   
        rut = [detCardCode].Cells(FilaDatos, 1)
        If (BP.GetByKey(rut) = True) Then
        
         vendedor = Application.VLookup([detSlpCode].Cells(FilaDatos, 1) _
                                                       , [tblVendedores], 1, False)
                                                                                                            
         BP.SlpCode = vendedor
                                                       
         ' Modifica         
         BP.Update        
        End If
        
        'Contador de filas
        FilaDatos = FilaDatos + 1 
    Loop

El SlpCode es un campo tipo “int”, es un código de la tabla OSLP. Tu error puede ser o por que el tipo de dato es incorrecto (que no veo definición), o por que la referencia a la tabla OSLP te da un error de constraint.

Saludos,

Hola Willy, estoy modificando el ‘slpcode’ de la tabla OCRD ‘Socio de Negocios’, que si bien dices es de tipo entero y no está la definición igual arroja el mismo error al hacer la asignación en forma directa

‘Application.VLookup([detSlpCode].Cells(FilaDatos, 1) _
, [tblVendedores], 1, False)’

y no tengo, y tampoco encuentro un listado de los objetos del socio de negocios. Igual eres muy amable en responder willy, muchas gracias.

slds.

Hola Oscar, me parece extraño lo que me dices porque con la herramienta ‘Data Transfer Workbench’ si se puede modificar el Sales Person Code (SlpCode) de la OCRD, de la Tabla Business Partner. Como este es un campo que puede, o no contener datos, y si bien es una clave foranea hacia otra tabla, no veo que afecte la integridad de la base.

slds.

Hola @Guti
Prueba realizar la asignación directamente
BP.SlpCode = 1

Si te funciona el error esta en el buscarv.

Andres Ramirez Jaramillo :colombia:

Hola @andresramirez,

Muchas Gracias por contestar. Hice el cambio y arroja el mismo error.

slds.

@Guti, verifica que si se este consultando el cliente de la base de datos, trata de mostrar el nombre en alguna celda.

@andresramirez, lo hice, y arroja los datos a la perfección, el ‘CardCode’ y el ‘SlpCode’.

slds.

Lo sé disculpa, se me fueron las ideas, saludos

No te preocupes, igual gracias por el interés.

Slds @OscarGerardo.

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