7.7. - Bapis
7.7.1. - ¿Qué es un BAPI?
Son métodos estandarizados que permiten acciones sobre los objetos de negocios de SAP, como pueden ser crear un pedido, crear un equipo, hacer un movimiento de mercancías, etc.
Las BAPIS son generalmente estándar ya que si bien se pueden crear mediante la transacción SE37 como funciones RFC, en rara ocasión se tendrá que crear una nueva.
Ventajas
Al ser estándar de SAP, utilizando BAPIS se asegura que los programas que se desarrollen 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á.
Se pueden utilizar BAPIS desde cualquier plataforma de desarrollo que soporte el uso de funciones RFC.
Desventajas
La mayor dificultad en la utilización de BAPIS, está en la carga correcta de los valores de las tablas de entrada. Para superar esta dificultad, se puede utilizar SDN (Comunidad de desarrolladores SAP).
7.7.2. - 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.
Bapis estándar para lectura de datos
1. GetList()
a. Se puede seleccionar un rango de objetos como pueden ser sociedades o números de materiales.
2. GetDetail()
a. Se utiliza para recuperar los datos de una instancia de un objeto de negocio.
3. GetStatus()
a. Se utiliza para obtener el status de un objeto de negocio
4. ExistenceCheck()
a. Chequea si existe una entrada determinada de un objeto de negocio.
Bapis estándar para crear o modificar datos
1. Create() o CreateFromData()
a. Se utiliza para crear instancias de objetos de negocios.
2. Change()
a. Se utiliza para modificar una instancia de objeto de negocio.
3. Delete() y Undelete()
a. Se utilizan para borrar y para cancelar el borrado de una instancia de un objeto de negocio.
Bapis estándar para procesamiento masivo
Los BAPIS para crear o modificar datos pueden ser utilizadas para el procesamiento masivo, es decir para procesar grandes cantidades de datos. Para ello, será necesario añadir el sufijo “Múltiple” al nombre de los métodos, por ejemplo “ChangeMultiple()”, “CreateMultiple()” o “DeleteMultiple()”.
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.
7.7.3. - La transacción BAPI
Para visualizar las BAPIS existentes en el sistema, se puede utilizar la transacción estándar BAPI.
Para buscar una BAPI, se pulsa sobre el menú superior en “Tratar%uF0E0Buscar”. En el ejemplo, se buscará “GetDetail”. Aparecerá una nueva ventana donde habrá que indicar el nombre del objeto, en este caso “USER”. Dentro de este menú, en la parte izquierda, aparecerá la BAPI.
Si se ejecuta la BAPI desde la transacción SE37, previamente escribiendo el nombre de usuario, se podrá acceder a los datos personales de usuario.