Cómo se conecta una sociedad SAP Business One a través de DI API

Te enseñamos los 7 pasos básicos

Para poder usar la DI API en SAP Business One y extraer o modificar la información de una base de datos SAP B1 desde nuestro programa, vamos a necesitar una conexión desde nuestro proyecto a la la sociedad que deseemos.

Veamos los siguientes pasos para realizarlo:

Crear un nuevo proyecto en Visual Studio

Paso 1 Conexión a una sociedad SAP Business One a través de DI API

Seleccionar el tipo de proyecto

Aquí hacemos click en “Aplicación de Windows Forms” como podemos ver en la imagen y asignaremos el nombre “DI_API_1_CONEXIONBD”.

Paso 2 Conexión a una sociedad SAP Business One a través de DI API

Crear la estructura

Una vez tenemos nuestro proyecto creado, elaboraremos la estructura, la cual será similar a la siguiente:

Paso 3 Conexión a una sociedad SAP Business One a través de DI API

Si te has fijado, se ha cambiado el nombre por defecto del formulario inicial, de “Form1” a “ConnectionForm”, desde el “Explorador de soluciones” con el botón derecho del ratón:

Paso 4 Conexión a una sociedad SAP Business One a través de DI API

Agregar botón al formulario

Con el proyecto creado, agregaremos un botón a nuestro formulario “ConnectionForm.cs” de forma que su aspecto será:

Paso 5 Conexión a una sociedad SAP Business One a través de DI API

Asignar referencia

Para poder usar la DI API deberemos agregar la referencia correspondiente a nuestro proyecto. Esto lo haremos desde el explorador de soluciones con botón derecho sobre “References” y pulsando en “Agregar referencia”. Seleccionaremos la referencia desde la pestaña “COM” de la DI API correspondiente a la versión con la que trabajamos:

Paso 6 Conexión a una sociedad SAP Business One a través de DI API

Paso 7 Conexión a una sociedad SAP Business One a través de DI API

Añadir la claúsula 

Una vez agregada la referencia, agregaremos una claúsula “Using” a nuestro código asociado al formulario “ConnectionForm.cs” de forma que podamos usar todas las clases contenidas en la librería sin necesidad de escribir continuamente el namespace al que pertenecen “SAPbobsCOM”:

Paso 8 Conexión a una sociedad SAP Business One a través de DI API

Crear un método privado

Para realizar la conexión crearemos un método privado que llamaremos “connectToSapB1DIAPI”. Este método devolverá un valor booleano que indicará si la conexión se ha realizado con éxito o no (true o false respectivamente). Además se definen dos parámetros de salida que devolverán el posible código de error procedente de SAP B1 (valor entero), así como el posible mensaje de error asociado a dicho código (cadena de caracteres).

Paso 9 Conexión a una sociedad SAP Business One a través de DI API

En este método se instancia un objeto de la clase “Company” (clase principal de la DI API) que será usado desde nuestro programa para realizar cualquier operación relativa a la base de datos, desde realizar la conexión inicial, hasta crear pedidos, albaranes, facturas o modificar datos maestros de algún artículo, cliente, etc.

Una vez que hemos creado nuestro método para realizar la conexión a la sociedad, haremos la llamada apropiada cuando se pulse en el botón creado en nuestro formulario. Para esto haremos doble click sobre nuestro botón y escribiremos el siguiente código:


Paso 10 Conexión a una sociedad SAP Business One a través de DI API

Con esto ya tendríamos nuestra primera aplicación que usa DI API, únicamente faltaría ejecutarla y comprobar que funciona correctamente.

¿Sigues teniendo dudas? Contacta con nosotros y te ayudaremos sin problema.

Te recomendamos leer

LinkedIn

Sobre el Autor

Abraham González

Abraham González

Consultor Tecnológico.

Experto en Desarrollo y gestión de Sap Business One, en realización de informes Crystal reports para Sap Business One, desarrollo y análisis de aplicaciones móviles multiplataforma, así como en el Desarrollo, análisis y gestión en Alfresco.

Desarrollador de webservices de diversas tecnologías y responsable de dar soporte a los clientes en las mencionadas soluciones tecnológicas.

Técnico superior en desarrollo de aplicaciones multiplataforma y desarrollo de aplicaciones web. 
Profesional con larga trayectoria en la tecnología empresarial.

  • Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Comments (9)

  • ricardo zamora salas

    ricardo zamora salas

    • 12 Julio 2018 at 15:58
    • #

    en las referencias de COM no se encuentra DI API

    reply

    • Itop

      Itop

      • 07 Febrero 2019 at 08:31
      • #

      Buenos días Ricardo,
      ¿Tienes instalado SAP, la DI API y el DI Server?
      Un saludo!

      reply

  • Ismael Mercado

    Ismael Mercado

    • 11 Octubre 2018 at 15:31
    • #

    Muchas gracias, la información me parece super útil ya que necesitamos hacer una interface para que conecte SBO a otro soft.
    slds.

    reply

  • jesus

    jesus

    • 02 Abril 2019 at 11:09
    • #

    Hola, me he encontrado con este artículo cuando estaba haciendo averiguaciones sobre las opciones que tendría para acceder para consultar/actualiar datos SAP B1 mediante una API, ya que en nuestro caso tenemos desarrollo interno para nuestro erp principal, (utilizamos una herramenta de desarrollo llamada Genexus que puede generar aplicaciones java, .net, etc) .
    Podemos acceder a sistemas externos mediante diversos mecanismos, acceso sql directo a bases de datos, mediante WebServices o mediante otros medios, como integrar directamente módulos .net o Java, según el entorno en que ejecute.
    En el caso de la integración con .net , mi sistema tiene una función llamada ".Net Assembly Import" , para enlazar con webservices tiene WDSL Import (esto último si que lo he utilizado para otras conexiones, como al SII de hacienda)
    No tenemos aquí muchos conocimientos de .net, casi ninguno, y poco de las opciones de conexión a los api de SAP. Con lo que he comentado, ¿Crees que es posible encontrar un camino para lograr un acceso a las funciones api de SAP B1? ¿Puedes recomendarme algo en este sentido?
    Un saludo, y gracias por adelantado.

    reply

  • Juan Marquez

    Juan Marquez

    • 28 Mayo 2019 at 14:14
    • #

    Excelente guia. Solo 2 observaciones:
    - Para VS2019 y sap 9.2 pl 08 falta agregar la definicion de oCompany.SLDServer = "SERVER:40000" y ajustar oCompany.LicenseServer ="SERVER:30000"
    - Si pudieras colocar el código "Copiable" mejor.
    Gracias

    reply

    • Itop

      Itop

      • 26 Junio 2019 at 13:09
      • #

      Buenas Juan,

      Muchas gracias por tus observaciones. Lo tendremos en cuenta para próximas veces.

      Un saludo! :)

      reply

  • Laura - Capacitación in company

    Laura - Capacitación in company

    • 21 Agosto 2019 at 17:47
    • #

    Mil gracias al creador de este blog porque la
    información me cae como anillo al dedo, estoy haciendo una
    investigación sobre el tema y me contribuye demasiado.

    reply

Leave a comment

You are commenting as guest.

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información Política de Cookies