![](/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/116.jpg)
INTERFACES
Los sistemas SAP tienen interfaces en diferentes niveles de comunicación. Estos rangos que van desde opciones altamente técnicas como el uso del protocolo TCP/IP o CPI-C, a opciones de interfaces especializadas diseñadas para los objetos de negocio, tal como las interfaces BAPIs o IDoc utilizadas en el ambiente ALE. objetos de negocio o procesos, usan la misma tecnología, la llamada de función remota (RFC: Remote Function Call).
Las interfaces de alto nivel, es decir, aquellas que acceden a objetos de negocio o procesos, usan la misma tecnología, la llamada de función remota (RFC: Remote Function Call).
Los sistemas SAP usan las siguientes tecnologías de interfaces:
-
ALE: Application Link Enabling
-
BAPI: Business Application Programming Interface
-
CPI-C: Common Program Interface Communication
- EDI: Electronic Data Interchange
- HTTP: HyperText Transfer Protocol
- LU 6.2: Logical Unit Type 6.2
- RFC: Remote Function Call
- OLE: Object Linking and Embedding SMTP: Simple Mail Transfer Protocol SOAP: Simple Object Access Protocol
- TCP/IP: Transmission Control Protocol / Internet Protocol
- XML: Extensible Markup Language
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 un 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 (sistema origen) 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, por ejemplo, una simple DLL (Dynamic Link Library). Cada interface RFC es bidireccional, por lo que los programas externos también pueden usar interfaces RFCs para acceder a los sistemas SAP.
Todos los módulos de funciones (inlcuyendo los que son habilitados para acceso remoto) son creados, junto con los parámetros de importación y exportación, usando el Function Builder. Podemos acceder al Function Builder mediante el menú de SAP Easy Access en la ruta: Tools ABAP Workbench -> Development -> Function Builder o usando el código de transacción 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 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án de salida, donde generalmente obtenemos el resultado de la función (exportación). También debe existir una conexión técnica entre los dos sistemas. Esta conexión se llama conexión RFC o destino RFC.
GESTION DE CONEXIÓN RFC
Podemos gestionar las conexiones RFC mediante Tools Administration Network RFC Destinations o usando la transacción SM59. Tools-> Administration-> Network-> RFC Destinations o usando 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 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.
Estas son también referidas como conexiones entre sistemas lógicos; este término 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 simultáneamente, por ejemplo, con un usuario de logon diferente cada vez.
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.
Cuando estamos definiendo destinos RFC, la conexión RFC es:
- Direccionada a un cliente, cuando estas apuntan a un sistema SAP como destino.
- Accesible desde todos los clientes en 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 ...
La fUnción que se ejecutará en el sistema destino es llamada. El nombre del destino debe referirse a una de las conexiones RFC existentes (DESTINATION). Cuando estamos creando una conexión RFC, podemos especificar la información de logon para el sistema destino; de lo contrario tendremos que ingresar los parámetros de logon cuando iniciamos la conexión RFC.
Exporting and Importing son usados para pasar los parámetros a la función y para recibir los parámetros devueltos. La función que llamamos en el sistema destino se ejecuta usando el ID de usuario que ingresamos para la conexión
También podemos crear 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 destino.Este procedimiento se conoce como RFC de Confianza (Trusted RFC). Es, por supuesto, un prerrequisito que usuarios idénticos sean creados tanto en el sistema origen como en el sistema destino.
Las RFC se han convertido en las interfaces más importantes en los ambientes SAP, aunque también los web services han ido ganando posición en estos últimos años. Algunos módulos especiales RFC, los cuales siguen ciertas convenciones, son también conocidos como BAPIs (Business Application Programming Interfaces).
BOR Y BAPIS
Una Interface de Programación de Aplicación de Negocios, por sus siglas en inglés 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, por sus siglas en inglés conocido como BOR (Business Object Repository) como métodos de objetos 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 normalmente implementadas y almacenadas en la Herramienta de Construcción de Funciones ABAP (ABAP Workbench Function Builder) como módulos de funciones habilitados RFC (RFC- enabled). Puedes observar una vista de las BAPIs disponibles en el BOR, por ejemplo, utilizando el botón Business Object Repository en el Constructor de Objetos de Negocio (Buisness Object Builder), transacción SWO1.
Se puede acceder al BOR directamente usando el código de transacción BAPI.
Las BAPIs que representan métodos para objetos de negocios en un sistema SAP, son usadas en un contexto muy variado
Algunos ejemplos de posibles usos para las BAPIs:
- Conectar procesos más allá de los límites de un sistema, por ejemplo, cuando se utiliza ALE.
- Utilizadas por SAP para integrar distintas soluciones del conjunto mySAP Business Suite.
- Para conectar un sistema SAP al Internet.
- Utilizadas en conjunto con SAP Business Workflow.
- Para conectar con programas externos.
Las BAPIs son creadas y probadas de la misma forma que otros módulos de funciones, usando el Function Builder, transacción SE37, y son definidas como BAPIs luego en el BOR.
 
 
 
Sobre el autor
Publicación académica de Maria Camila Cardenas Castellanos, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Maria Camila Cardenas Castellanos
Profesión: Ingeniera Mecatrónica - Colombia - Legajo: XH28L
✒️Autor de: 99 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Ingeniera mecatrónica de la universidad de san buenaventura, con proyeccion en sap s/4 hana. actualmente cuento con un dos de experiencia en sap en el área de roles y perfiles.
Certificación Académica de Maria Cardenas