SAP B1 SAP Business One. Ejemplo básico del uso del SDK


Vamos hacer algo sencillo pero practico en nuestro caso. Y nuestro ejemplo tratara que mediante unas tablas de SAP Business One y su SDK llevemos el registro de quien entra a nuestro sistema. Y para no hacernos líos esto lo vamos a ver en dos partes; y lo haremos así para poder ver las dos partes en las que se divide el SDK de SAP, el UI API, que es el encargado de las partes gráficas (ventanas, grids, etc) y el DI API, que nos brinda la interacción con los datos de SAP Business One.

     Este ejemplo lo haré en Visual C# 2008, se pueden usar otros como Java o Visual Basic .Net. Pero me siento mas cómodo en explicarlo en este lenguaje. Lo primero que vamos hacer es abrir nuestro C# y crear una nueva aplicación de consola.
     Una vez que se ha creado el proyecto lo que vamos hacer es agregar las referencias necesarias de SAP Business One.
     Una vez hecho esto empecemos con el ejemplo mas básico este ejemplo solo nos hará brincar un mensaje con el nombre del usuario que este conectado en ese momento. Asi que primero antes de esta linea “static void Main(string[] args)” agregaremos el siguiente código:
  static SAPbouiCOM.Application SBO_Application;
        static SAPbouiCOM.Form oForm;
        public static void SetApplication()
        {
//***************************************************************
// Usamo el objeto SboGuiApi para establecer nuestra conexión
// Con una aplicación abierta de SAP Business One application, la cual
// nos dara nuestro objeto inicializado
//*******************************************************************
            SAPbouiCOM.SboGuiApi SboGuiApi = null;
            string sConnectionString = null;
            SboGuiApi = new SAPbouiCOM.SboGuiApi();
            // inicializamos sConnectionString con una cadena que especifica que se usen los parametros actuales
            sConnectionString = “0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056”;
// intentar conectarse a la aplicacion abierta de SAP Business One
            try
            {
                // Si no existe una aplicacion abierta mandara un error
                SboGuiApi.Connect(sConnectionString);
            }
            catch
            {   //  Si la conexion falla
                System.Windows.Forms.MessageBox.Show(“No SAP Business One Application was found”);
                System.Environment.Exit(0);
            }
            // inicializamos nuestro objeto
            SBO_Application = SboGuiApi.GetApplication(-1);
        }
     El código anterior lo que hace es intentar inicializar el objeto SBO_Application y este solo se inicializara si existe una aplcacion de SAP Business One abierta. Una vez hecho este paso vamos a poner el siguiente código dentro del proceso “static void Main(string[] args)”:
     //hacemos un llamado al procedimiento que hmos creado
     SetApplication();
     //creamos una variable de texto de SAP y una variable tipo string
     SAPbouiCOM.StaticText oStatic;
     string LoggedUser;
     //mediante UI API tomamos la forma 169
     //esta forma es la que contiene el menu de SAP Bancos, Inventarios, etc…
     oForm = SBO_Application.Forms.GetForm(“169”, 0);
     //tomamos un objeto especifico en este caso la parte en la que aparece el nombre
     //del usuario
     oStatic = (SAPbouiCOM.StaticText) oForm.Items.Item(“8”).Specific ;
     //pasamos a nuestra variable string el nombre del usuario
     LoggedUser = oStatic.Caption;
     //mostramos el nombre del usuario…
     System.Windows.Forms.MessageBox.Show(“User logging is ” + LoggedUser);
     Con esta parte de código podemos ver que mediante el UI API podemos tomar una forma en este caso donde se encuentra el menú principal de SAP Business One y tomamos el valor en donde se encuentra el nombre del usuario conectado al sistema. Este es un ejemplo muy básico y no profundizo mucho en aspectos de programación porque habrá muchos que sea su primer acercamiento a lo que es la programación. Ahora bien como bonus también ahí una manera diferente de hacer algo parecido y es mediante una búsqueda formateada que contenga esta consulta: “SELECT T0.U_NAME FROM OUSR T0 WHERE INTERNAL_K = $[USER]”. Ahora bien esto solo fue un prueba de como funciona el UI API de SAP y vimos un ejemplo de una de tantas cosas que se pueden lograr con dicha herramienta. En el siguiente post veremos el ejemplo mediante el DI API en donde si estaremos capturando y almacenando cada vez que alguien entre al sistema.

Acerca de albertoarceti
Administrador de sistemas informáticos, y erps en la industria farmacéutica.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: