En este artículo se habla sobre qué es una BAPI en SAP y  cómo encontrar la más adecuada para tu aplicación.

Encuentra la BAPI de SAP más adecuada

Las BAPIs (Business Application Programming Interfaces) son las interfaces estándar de SAP. En concreto, son piezas de código en forma de módulo de funciones, usadas en la integración entre componentes de SAP, así como con componentes externos.

Dicha integración de componentes, se realiza a nivel de negocio, no a nivel técnico, lo que permite una mayor estabilidad en la unión e independencia de la tecnología de comunicación subyacente.

Las BAPIs están ligadas en forma de método a los objetos de negocio de SAP, ocupados de cubrir múltiples procesos de datos dentro del sistema. Todas las BAPIs tienen una serie de características en común:

  • Son métodos de un objeto de negocios.
  • Todas están definidas como funciones RFC (Remote Function Call).
  • Evitan las ventanas de dialogo durante el procesamiento.

Métodos de Objetos de Negocio

Los objetos de negocio son similares a las clases, 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 recogen en un repositorio (BOR – Business Object Repository) accesible desde la transacción 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.

Visualizar métodos de objetos dentro de una BAPI en SAP

Alternativas a los Batch Input

Las BAPIs tienen varias funciones:

  • Generar reports.
  • Como comunicación entre sistemas SAP o entre sistemas SAP y sistemas NON-SAP.
  • Para la migración de datos.

Teniendo en cuenta está última funcionalidad, las BAPIs en SAP representan una alternativa a los métodos tradicionales como los Batch Input (mediante CALL TRANSACTION). La principal ventaja con respecto a estos es que, al tratarse de un desarrollo propio de SAP, no se verá afectado por modificaciones futuras. En el caso de los Batch Input un cambio en una dynpro entre versiones puede por el contrario provocar un error.

Diferencias entre BAPI y RFC

Todas las BAPIs son funciones RFC, pero no todas las funciones RFC son BAPIs. Las principales diferencias entre ambas son:

BAPI RFC
Parte de un objeto de negocio, puede comunicarse con otras BAPIs Módulo de funciones individual e independiente, que no puede comunicarse con otros RFCs
Utiliza conceptos orientados a objetos Utiliza conceptos orientados a procedimientos
Tiene una interfaz y funcionalidad fija, no se ve afectada por posibles upgrades Dependiendo del status puede sufrir cambios en la interfaz y en el funcionamiento

Encontrar la BAPI adecuada

En muchas ocasiones, el mayor problema a la hora de utilizar una BAPI es precisamente encontrar la adecuada a nuestras necesidades.

Aparte de opciones externas (Comunidad SCN, MundoSAP), el sistema nos ofrece su propia herramienta de búsqueda mediante la transacción BAPI. Gracias a esta transacción y conociendo el objeto de negocio, obtendremos de modo sencillo las principales BAPIs disponibles en SAP, así como información relacionada útil como la release de liberación, la descripción de la BAPI o el nombre de la propia función a utilizar.

Al comienzo de este artículo se muestra una imagen del explorador de BAPIs de SAP.

Con esta información ya sabemos qué es una BAPI en SAP y lo que es más importante aún, cómo elegir la que mas se adecua a nuestras necesidades.