Contenido
4. BAPI mediante transacción estándar
Contenido
1. ¿Qué es una BAPI?
Por sus siglas “BAPI” significa “Business Application Programming Interfaces”.
En el sistema SAP, las BAPIs se almacenan como módulos de funciones compatibles con RFC en ABAP Workbench Function Builder, todas están definidas como funciones RFC (Remote Function Call).
Las BAPIs tienen interfaces comerciales estándar que permiten que las aplicaciones externas (con la ayuda de los objetos comerciales de SAP) accedan a los procesos, funciones y datos de SAP.
Es posible navegar a estas funciones del repositorio ABAP mediante la transacción “SE37”.
1. BAPI Explorer
Para encontrar la BAPI que necesitamos utilizar para nuestro desarrollo, existen diversas formas, en esta ocasión, veremos cómo encontrarla desde la transacción del BAPI Explorer llamada “BAPI”.
En el listado que aparece en la parte izquierda, vamos a seleccionar la pestaña de “Alphabetical” y buscamos algo que sea compatible con lo que estamos trabajando: facturas, materiales, documentos contables, etc., (recordemos siempre manejar términos en inglés).
Para este ejemplo vamos a trabajar con Materiales, entonces, buscamos en el listado este nombre o algo similar:
Después de la búsqueda, tomaremos el nodo que más sea compatible con nuestro requerimiento.
Abrimos el árbol del nodo “Material” y buscamos en esta lista la operación que queramos realizar, en este caso, queremos obtener el detalle del material “GetDetail”:
Revisamos sus parámetros de importación y exportación y verificamos si son compatibles con lo que necesitamos en nuestro desarrollo.
Al dar clic sobre su nombre “GetDetail”, obtendremos toda la información de su método, es aquí donde encontraremos en nombre de la BAPI que utiliza.
Esta es la BAPI que podemos usar para este ejercicio, ya que queremos obtener los detalles con base en el código del material.
Con doble clic sobre el nombre de la BAPI, navegaremos a ella y podremos ver todo el código estándar que hay por debajo, el cual podemos aprovechar en nuestro objeto y tarea.
1. Utilización BAPI
En un programa ejecutable, realizamos la llamada a la BAPI, mediante “CALL FUNCTION”, al traer toda la firma con sus parámetros, debemos crear las variables y estructuras que se utilizarán para pasar en la importación y exportación de esta función.
Para este ejercicio, usaremos solo el nombre del material y recibiremos como resultado la estructura de “MATERIAL_GENERAL_DATA”, pero podríamos declarar la variable para pasar los valores de “PLANT”, “VALUATIONAREA”, “VALUATIONTYPE”, “MATERIAL_EVG”, todo dependiendo de los resultados que deseemos obtener.
El valor del material lo hemos tomado de la tabla estándar “MARA”, ya que esta tabla de base de datos almacena toda la información en el sistema de los materiales estándar que se tienen en SAP.
Al ejecutar el programa, veremos los resultados de la información del material que hemos pasado directamente en el código.
1. BAPI mediante transacción estándar
Otra forma que podemos aplicar para encontrar una BAPI y que realice la funcionalidad que necesitamos es ingresando a la transacción “SE93” e indicando el nombre de la transacción.
En este caso, veamos la transacción estándar MIRO, en la que registramos facturas recibidas.
Navegamos a la carpeta de “Business Engineering” y posteriormente la subcarpeta “Business Object Types”.
En este listado debemos buscar el objeto de negocio que tenga una descripción igual o similar a la transacción “MIRO” en este caso.
Ingresamos al objeto y en la carpeta de “Methods” vamos a buscar lo que nos interesa realizar, si crear, editar, obtener detalles, eliminar, etc.
Tomamos el método de “CreateFromData” para replicar la funcionalidad de crear una factura, por ejemplo.
Seleccionamos el cuadrado de color verde y el sistema nos enviará directamente a la BAPI que se utiliza, esta es la que podemos implementar en nuestro desarrollo.