✒️ABAP Las BAPIS
ABAP Las BAPIS
1. ¿Qué son las BAPIS?
Sus siglas significan Business Application Programming Interfaces.
Son métodos estandarizados que nos permiten realizar acciones sobre los objetos de negocios de SAP, como pueden ser, crear un pedido, crear un equipo o hacer un movimiento de mercancías, entre much[isimos otros.
Son las interfaces estándar de SAP, con esto nos referimos en concreto a que son piezas de código en forma de módulos de funciones, usadas en la integración entre componentes de SAP, así como son componentes externos.
Todos los procesos que hasta ahora haciamos mediante un Batch Input pueden hacerse mediante la ejecución de BAPIS.
Todas las BAPIS tienen una serie de características en común:
- Son métodos de un objeto de negocio de SAP.
- Todas están definidas como módulos de funciones RFC (Remote Function Call).
- Evitan las ventanas de diálogo durante el procesamiento.
Los objetos de negocio son similares a las clases de la programación orientada a objetos, esto es, una serie de atributos, métodos, eventos y campos clave para una aplicación de negocio o escenario específico.
Los objetos de negocio se pueden visualizar en un repositorio (BOR - Business Object Repository) accesible desde la transacción estándar SWO1. Como parte de ese repositorio se pueden visualizar los métodos de cada objeto de negocio, que se corresponden a las diferentes BAPIS del sistema.
Las BAPIS tienen varias funciones:
- Generar reportes.
- Crear objetos en el sistema SAP tales como una solicitud de pedido.
- Como comunicación entre sistemas SAP o entre sistemas SAP y sistemas no SAP.
- Para la migración de datos.
Teniendo en cuenta esta última funcionalidad, las BAPIS en SAP representan una alternativa a los métodos tradicionales como los Batch Inputs.
Ahora bien si comparamos a las BAPIS y a los Batch Inputs entonces vamos a encontrarnos con que las BAPIS presentan las siguientes ventajas sobre los Batch Inputs:
- Debido a que las BAPIS son generalmente estándar de SAP, utilizando BAPIS, nos aseguramos que los programas que desarrollemos, serán compatibles con las versiones futuras de SAP. Esto no ocurre con los Batch Inputs, ya que entre las distintas versiones de SAP, es común que se modifiquen las pantallas de las transacciones, por lo tanto la ejecución del Batch Input fallará.
Decimos que las BAPIS son generalmente estándar ya que si bien se pueden crear mediante la transacción SE37 como módulos de funciones RFC, en rara ocasión tendremos que crear una nueva.
- Se pueden utilizar BAPIS desde cualquier plataforma de desarrollo que soporte el uso de módulos de funciones RFC.
- Las BAPIS al ser estándares utilizan las mismas validaciones que se utilizan en las transacciones estándares del sistema SAP por lo tanto utilizar BAPIS es muy seguro a nivel de integridad de los datos y los resultados que deseamos obtener con la ejecución del sistema.
Pero como todo, las BAPIS presentan desventajas que son las siguientes:
- La mayor dificultad está en encontrar la BAPI adecuada para lo que necesitamos hacer en el sistema.
- Otra gran dificultad que se encuentra en la utilización de BAPIS, está en la carga correcta de los valores de las tablas internas de entrada. Es decir, en ocaciones se vuelve complejo saber cómo cargar correctamente los parámetros de entrada de las BAPIS de modo que produzcan el resultado que deseamos. Para superar esta dificultad, podemos investigar en la web en general, buscando ejemplos de su uso y en particular en la SDN, en donde vamos a encontrar mucha información.
Por último, vale la pena mencionar que si bien todas las BAPIS son módulos de funciones RFC, no todos los módulos de funciones RFC son BAPIS. Las pincipales diferencias entre las BAPIS y los módulos de funciones RFC son:
- Una BAPI puede comunicarse con otra BAPI mientras que un módulo de funciones RFC no puede comunicarse con otro módulo de funciones RFC.
- Las BAPIS utilizan conceptos propios de la programación orientada a objetos mientras que los módulos de funciones RFC utilizan conceptos orientados a procedimientos o subrutinas.
- Una BAPI tiene una interfaz y funcionalidad fija que no se ve afectada por posibles UPGRADE mientras que un módulo de funciones RFC, dependiendo del estatus, puede sufrir cambios en la interfaz y en el funcionamiento.
2. La transacción BAPI
Para visualizar las BAPIS existentes en el sistema, podemos usar la transacción estándar BAPI.
Transacción BAPI
Mediante la transacción estándar BAPI denominada "Explorador BAPI" podremos acceder a todas las BAPIS existentes en el sistema SAP.
3. Las BAPIS estándar
Existen ciertas BAPIS que son estándares y pueden ser implementadas para la mayoría de los objetos de negocios. Estas BAPIS tienen funciones específicas, como puede ser listar las instancias existentes de un objeto de negocio SAP. Ellas son:
Las BAPIS estándar para lectura de datos
- GetList(): con esta BAPI se pueden seleccionar un rango de objetos como pueden ser sociedades o números de materiales.
- GetDetail(): se utiliza para recuperar los datos de una instancia de un objeto o de negocio.
- GetStatus(): se utiliza para obtener el status de un objeto de negocio.
- ExistenceCheck(): chequea si existe una entrada determinada de un objeto de negocio.
Las BAPIS estándar para crear o modificar datos
- Create() o CreateFromData(): se utilizan para crear instancias de objetos de negocios.
- Change(): se utiliza para modificar una instancia de un objeto de negocio.
- Delete() y Undelete() se utilizan para borrar y para cancelar el borrado de una instancia de un objeto de negocio.
Las BAPIS estándar para procesamiento masivo
Las BAPIS para crear o modificar datos pueden ser utilizadas para procesamiento masivo, es decir, para procesar grandes cantidades de datos. Para ello, será necesario agregar el sufijo Múltiple al nombre de los métodos. Por ejemplo: ChangeMultiple(), CreateMultiple() o DeleteMultiple()
Las BAPIS estándar para replicar instancias de objetos
Las BAPIS Replicate() y SaveReplicate() son utilizadas para copiar instancias de objetos de un sistema a otro.
 
 
 
Sobre el autor
Publicación académica de Alexis Jesus Perez Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexis Jesus Perez Ramirez
Profesión: Licenciado en Computación - Venezuela - Legajo: LK96B
✒️Autor de: 69 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Licenciado en computación egresado de la ucv, con amplia experiencia en base de datos, análisis de sistemas y programación; tanto en ambiente web, cliente/servidor como en computación central.
Certificación Académica de Alexis Perez