✒️SAP BASIS Las RFC y BAPIS
SAP BASIS Las RFC y BAPIS
1. Introducción a Interfaces
Preguntas
- La BAPI es una interfaz, el Idoc es un formato ¿Porqué se menciona que el Idoc también es una Interfaz?
- Este enlace me fue de mucha utilidad para responder a esta pregunta: https://www.youtube.com/watch?v=5XbBiyfa5To
Los sistemas SAP tienen interfaces en diferentes niveles de comunicación. Desde protocolos como TCP/IP hasta otros mas especializados como BAPIS diseñadas para los objetos de negocio.
Los objetos de negocio utilizan interfaces de alto nivel para comunicarse, como los son:
ALE, BAPI, CPI-C, EDI, HHTP LU6.2, RFC, OLE, SMT,TCP/IP, XML
2 Remote Function call (RFC)
La interface de llamada a una función remota o remote function call( RFC), es una interface SAP basada en el protocolo CPI-C Y TCP/IP. Las RFC facilitan la programación del proceso de comunicación entre diferentes sistemas SAP
Las RFCs permiten que funciones predefinidas puedan llamarse y ejecutarse en un sistema remoto o dentro del mismo sistema. La RFC maneja un proceso de comunicación, transferencia de parámetros y el manejo de errores.
La RFC describe una interface, no un lenguaje de programación en la cual la función corre. Eso quiere decir que las RFCs pueden usarse para hacer llamadas a funciones No-SAP. El procedimiento para las comunicaciones RFC entre dos sistemas SAP consiste en que el sistema SAP genera la llamada (sistema origen) usa una definición RFC en el sistema destino para acceder a la función específica.
Esta función es normalmente un módulo de función habilitado para el llamado remoto (remote-enabled).
Si queremos iniciar programas externos de forma remota, es necesaria una interface remota fuera del sistema SAP.
Cada interface RFC es bidireccional, por lo que los programas externos también pueden usar interfaces RFCs para accede a los sistemas SAP.
Todos los módulos de funciones incluyendo los que son habilitados para acceso remoto son creados, junto con los parámetros de importación y exportación, usando la función builder SE37
Para llamar a un módulo RFC desde un sistema SAP, necesitamos conocer los parámetros de importación y exportación (definidos en el function bulder)
Los parámetros de importación y exportación son los parámetros que deben ingresar a la función remota (importación) y aquellos que serán de salida, donde generalmente obtenemos el resultado de la función (exportación). También debe existir una conexión técnica entro los dos sistemas. Esta conexión se llama conexión RFC o destino RFC.
La gestión de conexiones RFC la hacemos por la transacción SM59
El sistema que genera la llamada (sistema origen), en donde se ha creado un destino RFC con el nombre DEST. Un destino RFC en la transacción 5M59 no debe confundirse con un sistema SAP, ya que la conexión RFC puede solamente realizarse a un mandate de un sistema SAP.
Las conexiones RFC que se definen en la SM59 son referidas como conexiones entre sistemas lógicos, este término de conexiones RFC lo usamos en entornos ALE.
Podemos crear tantas conexiones RFC como mandantes existan en nuestro sistema SAP destino. Debemos crear un usuario por cada conexión RFC que creemos
Podemos conectarnos varias veces simultáneamente a un mandate de un sistema SAP destino con un usuario de logon diferente cada vez.
Si necesitamos una conexión RFC bidirecional entre dos sistemas, quiere decir que el sistema destino también pueda ejecutar módulos RFC en el sistema origen, entonces necesitamos configurar una conexión RFC equivalente en el sistema destino hacia el sistema origen.
Cuando definimos destinos RFC, la conexión RFC es:
- Direccionada a un mandante, cuando estas apuntan a un sistema SAP como destino.
- Que pueda ser accedida por todos los mandantes desde el sistema origen.
En el código ABAP, usamos RFCs para llamar a un módulo de función en otro sistema de la siguiente manera.
CALL FUNCTION : la función que se ejecutará en el sistema destino es llamada
DESTINATION : el nombre del destino el cual se define en la SM59 se refiere a una de las conexiones RFC existentes
EXPORTING y IMPORTING: es usado para pasar los parámetros a la función y para recibir los parámetros devueltos
Se pueden crear conexiones RFC de confianza (Trusted RFC). Una conexión uede ser usada por varios usuarios para eso se deben crear los mismos usuarios tanto en el sistema origen como en el destino.
3. BOR y BAPIS
Una interface de programación de aplicación de negocios es la BAPI. Es una interface estandarizada que facilita el acceso interno y externo a procesos de negocios y datos en sistemas SAP.
Las BAPIS son definidas en el Repositorio de Objetos de Negocio o Busiines Object Repository (BOR) como métodos de objeto de negocio SAP y permiten una visión orientada a objetos de los datos de negocio en un sistema SAP.
Las funciones que pueden ser llamadas usando BAPIS son implementadas y almacenadas en la herramienta de construcción de funciones ABAP (ABAP Workbench Function Bulder) con módulos de funciones habilitados RFC (RFC-enabled).
- Podemos observar una vista de las BAPIS disponibles en el BOR con la transacción SWO1
- Para acceder directamente al BOR usamos la transacción BAPI
Las BAPIS se pueden usarse para:
- Conectar procesos mas allá de los limites del sistema, por ejemplo cuando usuas ALE (enviar Idocs)
- Para integrar distintas soluciones SAP del conjunto mySAP Business Suite
- Para conectar un sistema SAP al internet
- Utilizadas en conjunto con SAP Business Workflow
- Para conectar con programas externos
 
 
 
Sobre el autor
Publicación académica de Gabriel Ochoa, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Gabriel Ochoa
Profesión: Ingeniero de Sistemas - Colombia - Legajo: SD43Q
✒️Autor de: 13 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Gabriel Ochoa