![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BASIS Las RFC y BAPIS
SAP BASIS Las RFC y BAPIS
![SAP BASIS Las RFC y BAPIS SAP BASIS Las RFC y BAPIS](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/387.jpg)
RFC y BAPIS
Como ejemplo de negocio podemos tomarla necesidad de integrar aplicaciones existentes con las aplicaciones SAP.
1. Introducción a interfaces
Los sistemas SAP tienen interfaces en diferentes niveles de comunicación. Estos rangos que van desde opciones altamente técnicas como el uso de protocolo TCP/IP o CPI-C, a opciones de interfaces especializadas diseñada para los objetos de negocio, tal como las interfaces BAPIs o IDoc utilizadas en el ambiente ALE
Las interfaces de alto nivel, es decir, aquellas que acceden a objetos de negocio o procesos, uasan la misma tecnología, la llamada de función remota RFC( Remote Funtion Call)
Los sistemas SAP usan las siguientes tecnologías de interfaces como se muestra en la figura 221:
· ALE: Application Link Enabling
· BAPI: Business Application Interface Communication
· CPI-C: Commom Program Interface Communication
· EDI: Electronic Data Interchange
· HTTP: HyperText transfert Protocol
· LU 6.2: Logical Unit Type 6.2
· RFC: Remote Function Call
· OLE: Objetc Linking and Embedding
· SMTP: Simple Mail Transfer protocol
· SOAP: Simple Object Acces Protocol
· TCP/IP: Trasnmission Control Protocol /Internet Protocol
· XML: Extensible Markup Language
2. Remote Function Call
La interface de llamada a una función remota RFC, es una interface SAP basada en el protocolo CPI -C Y TCP/IP. Simplifica 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 el proceso de comunicación, transferencia de parámetros y el manejo de errores.
La RFC describe una interface, no el lenguaje de programación en la cual la función corre. Esto se traduce en que las RFCs pueden utilizarse para hacer llamadas a funciones en sistemas NO -SAP. El procedimiento para las comunicaciones RFC entre dos sistemas SAP consiste en que el sistema que genera la llamada usa una definición RFC en el sistema destino para acceder una 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, como muestra la figura 222, esto podría ser, por ejemplo una simple DLL(Dynamic Link Library) Cada interface RFC es bidireccional, por lo que los programas externos también pueden usar interface RFCs para acceder a los sistemas SAP.
Todos los Módulos de funciones (incluyendo los que son habilitados para acceso remoto) son creado juntos con los parámetros de importación y exportación , usando el Function Builder. Podemos acceder mediante el menú de SAP Easy Acccess en la ruta: Tools ->ABAP Workbench->Development->Function Builder o usando la transacción SE37
Para llamar a un modulo RFC desde un sistema SAP, necesitamos conocer los parámetros de importación y exportación definidos en el Function Builder.
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ían de salida, donde generalmente obtenemos el resultado de la función (exportación ). También debe existir una conexión entre los dos sistemas. Esta conexión se llama RFC o destino RFC.
En la figura Podemos observar en el lado izquierdo, el sistema que genera la llamada, en dodne se ha creado un destino RFC con el nombre DEST. Un destino RFC en la transacción SM59 no debe confundirse con un sistema SAP, Ya que una conexión RFC puede solamente realizarse a un mandante o cliente de un sistema SAP.
Esta son también referidas como conexiones entre sistemas lógicos ; este termino es utilizado sobre todo en el entorno ALE
Esto Significa también que puedes tener tantas conexiones RFC entre dos sistemas como clientes existan en el sistema destino. Ya que debemos especificar un usuario para loguearnos al sistema destino en cada conexión RFC. Podemos acceder también a un cliente en el sistema destino varias veces simultaneas, por ejemplo con un usuario logon.
Si necesitamos una conexión RFC Bidireccional entre dos sistemas esto es que el sistema destino pueda también ejecutar módulos RFC en el sistema origen , entonces necesitamos configurar una conexión RFC equivalente en el sistema destino hacia 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
· DESTINATION
· EXPORTING
· IMPORTING
También podemos crea conexiones RFC para la cual el usuario que realiza la llamada es utilizado en el sistema destino, esto quiere decir que diferentes usuarios pueden usar la misma conexión en el sistema.
Este procedimiento se conoce como RFC de confianza (Trusted RFC)es por supuesto un prerequisito que usuarios idénticos sean creados tanto en el sistema origen como el sistema destino.
Las RFC se han convertido en la interfaces mas importantes en los ambientes SAP, aunque también los web services han ido ganando posición. Algunos módulos especiales RFClos cuales siguen ciertas convenciones, son también conocidos como BAPIs
3. BOR Y BAPIs
Una interface de programación de aplicaciones de negocios, conocida como 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 conocidas como BOR Business Object Respository. Como métodos de objetos de negocios SAP y permiten una versión orientada a objetos de los datos de negocio en un sistema SAP
Las funciones que pueden ser llamadas usando BAPIs son normalmente implementadas y almacenadas en la herramienta de construcción de funciones ABAP como módulos de funciones habilitados RFC. Puedes observar una vista de las BAPis disponibles en el BOR Utilizando el botón Business Object Respository o la transacción SW01.
Puedes acceder al Bor directamente usando el código de transacción BAPI
Los BAPIs que representan métodos para objetos de negocios en un sistema SAP, son usadas en un contexto muy variado.
Aquí algunos ejemplos posibles de posibles usos para las BAPIs:
· Conectar procesos mas allá de los limites de un sistema , por ejemplo, cuando se utiliza ALE
· Utilizadas por SAP para integra distintas soluciones del conjunto mySAP Business Suite
· Para conectar un sistema SAP a internet
· Utilizadas en conjunto con SAP Business Workflow
· Para conectar programas externos
 
 
 
Sobre el autor
Publicación académica de Sharly Jose Aponte Escobar, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Sharly Jose Aponte Escobar
Profesión: Ingeniero en Informática - Mexico - Legajo: MP19S
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime