✒️SAP BASIS Las RFC y BAPIS
SAP BASIS Las RFC y BAPIS
LECCION 2: RFC Y BAPIS
1.- Introduccion 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ñadas para los objetos de negocio, tal como las interfaces BAPI s o IDOC utilizadas en el ambiente ALE.
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 Interchage
· HTTP: Hype Text 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
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 un 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. 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 interfaces RFCs para acceder a los sistemas SAP.
NOTA: Todos los modulos de funciones ( incluyendo 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ú SAP Easy Access en la ruta:
Toolsà ABAP Workbench àDevelopmentàFunction Builder o usando el código de trx SE37.
Para llamar a un modulo RFC desde un 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). Tambien debe existir una conexión técnica entre los dos sistemas.
Esta conexión se llama conexión RFC o destino RFC.
Gestion de la Conexión RFC
Podemos gestionar las conexiones RFC mediante Tools Administration Network RFC
Destinations o usando la trx SM59
àTools
àAdministration
àNetwork
àRFC Destinations o usando la trx SM59
Un destino RFC en la trx 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 simultaneas, por ejemplo, con un usuario de logon diferente cada vez.
Si es necesitamos una conexión RFC birideccional entres dos sistema, esto es, que el sistema destino pueda también ejecutar modulos RFC en el sistema origen, entonces necesitamos configurar una conexión RFC equivalente en el sistema destino hacia el sistema origen.
______________
NOTA: 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 modulo de función en otro sistema de la siguiente manera:
CALL FUNCTION
DESTINATION
EXPORTING
IMPORTING
La función que se ejecutara en el sistema destino es llamada. El nombre del destino debe referirse a una conexión 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 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.
__
Nota: Tambien 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 mas importantes en los ambientes SAP, aunque también los web service han ido ganando posición en estos últimos años. Algunos modulos especiales RFC, los cuales siguen ciertas convenciones, son también conocidos como BAPIs (Business- Application Programming Interfaces).
3.- BOR Y BAPIs
Una interface de programación de aplicación de negocios, por sus siglas en ingles conocidas 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 ingles 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 modulos 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 Negocios (Business Object Builder), transacción SW01.
Puedes 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.
Aquí hay algunos ejemplos de posibles usos para las BAPIs:
· Conectar procesos mas alla de los limites de un sistema, por ejemplo, cuando se utiliza ALE.
· Utilizadas por SAP para integrar distintas soluciones del conjunto mySAP Busines Suite.
· Para conectar un sistema SAP al internet.
· Utilizadas en conjunto con SAP Business Workflow.
· Para conectar con programas externos.
Nota : Las BAPIs son creadas y probadas de la misma forma que otros modulos de funciones, usando el Fuction Builder, transacción SE37, y son definidas como BAPIs luego en el BOR.
 
 
 
Sobre el autor
Publicación académica de Patricia Tatiana Aros Lopez, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Patricia Tatiana Aros Lopez
Profesión: Analista de Sistemas Informaticos - Chile - Legajo: ZC88E
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Patricia Aros