✒️SAP BASIS / Las llamadas a funciones remotas (RFC) y las BAPIS Por Fernando Escola
SAP BASIS Las llamadas a funciones remotas (RFC) y las BAPIS

Las llamadas a funciones remotas (RFC) y las BAPIS
1. Resumen de las Interfaces en SAPLos sistemas SAP utilizan diversos niveles de comunicación para interactuar con otros sistemas y procesos. Estas interfaces se clasifican principalmente en dos grupos:
-
Interfaces Propietarias de SAP: Tecnologías desarrolladas específicamente por SAP.
-
Interfaces Abiertas: Estándares de la industria que permiten la conexión con sistemas externos no SAP.
Un punto fundamental es que todas las interfaces de nivel superior (aquellas que interactúan directamente con objetos de negocio o procesos) utilizan la tecnología RFC (Remote Function Call) como base técnica.
2. Clasificación y Tecnologías UtilizadasSegún la arquitectura presentada en el diagrama, las tecnologías se dividen por su nivel de especialización y función:
-
Tecnologías de Nivel Superior (Negocio y Aplicación):
-
BAPI (Business Application Programming Interface): Interfaz para la programación de aplicaciones de negocio.
-
ALE (Application Link Enabling): Tecnología diseñada para el intercambio de datos entre diferentes sistemas SAP o entre SAP y sistemas externos, basada en el uso de IDocs.
-
OLE (Object Linking and Embedding): Utilizada para la vinculación e incrustación de objetos (común en la integración con herramientas de oficina como Excel).
-
-
Protocolos de Comunicación y Estándares Abiertos:
-
RFC (Remote Function Call): La base para la llamada a funciones en sistemas remotos.
-
HTTP(S): Protocolo de transferencia de hipertexto, base de la comunicación web.
-
OData (Open Data Protocol): Protocolo abierto para la creación y consumo de APIs de datos consultables.
-
SMTP: Protocolo para la transferencia de correo electrónico.
-
EDI / XML / SOAP: Estándares para el intercambio electrónico de datos y servicios web.
-
-
Interfaces Técnicas y de Red (Nivel Inferior):
-
CPI-C (Common Program Interface Communication): Comunicación de interfaz de programa común.
-
TCP/IP: El protocolo base de comunicación en Internet y redes locales.
-
LU 6.2 (Logical Unit Type 6.2): Protocolo de unidad lógica para comunicaciones en entornos IBM.
-
El documento detalla las siguientes definiciones técnicas:
-
ALE: Habilitación de Enlace de Aplicaciones.
-
BAPI: Interfaz de Programación de Aplicaciones de Negocio.
-
CPI-C: Comunicación de Interfaz de Programa Común.
-
EDI: Intercambio Electrónico de Datos.
-
HTTP(S): Protocolo de Transferencia de Hipertexto.
-
LU 6.2: Unidad Lógica Tipo 6.2.
-
RFC: Llamada a Función Remota.
-
OLE: Vinculación e Incrustación de Objetos.
-
SMTP: Protocolo Simple de Transferencia de Correo.
-
SOAP: Protocolo de Acceso a Objetos Simples.
-
TCP/IP: Protocolo de Control de Transmisión / Protocolo de Internet.
-
OData: Protocolo de Datos Abiertos.
-
XML: Lenguaje de Marcado Extensible.
Para profundizar en conectores específicos, SAP recomienda visitar su portal de soporte en la sección de /connectors. Además, el material sugiere el uso de herramientas de Inteligencia Artificial para tareas específicas, como la creación de scripts ABAP que utilicen el control OLE para integrar funciones de Excel en reportes de SAP.
Módulos de funciones remotas RFC
La Remote Function Call (RFC) es un protocolo de interfaz propietario de SAP, fundamentado en estándares como CPI-C y TCP/IP. Su objetivo principal es simplificar la comunicación entre diferentes sistemas, permitiendo ejecutar funciones predefinidas en un sistema remoto o incluso dentro del mismo sistema.
-
Independencia del Lenguaje: RFC describe una interfaz de comunicación, no el lenguaje de programación. Esto permite que SAP se comunique tanto con otros sistemas SAP como con programas externos (no SAP).
-
Gestión Automática: El protocolo se encarga de gestionar la transferencia de parámetros, el proceso de comunicación y el manejo de errores de forma transparente para el desarrollador.
-
Bidireccionalidad: Las interfaces RFC son bidireccionales, lo que significa que un sistema externo puede tanto recibir llamadas de SAP como iniciar llamadas hacia funciones dentro de SAP.
Para que una comunicación RFC sea exitosa, deben cumplirse dos prerrequisitos clave:
-
Conexión RFC: Una configuración técnica establecida entre los sistemas.
-
Módulo de Función de Acceso Remoto: La función que se desea ejecutar debe estar configurada específicamente para permitir el acceso remoto.
Los módulos de función se gestionan en la Biblioteca de Funciones a través de la transacción SE37, donde se definen sus parámetros de importación y exportación.
3. Destinos RFC y la Transacción SM59Un Destino RFC es una configuración técnica que apunta a un mandante (cliente) específico dentro de un sistema SAP o a un programa externo.
-
Transacción SM59: Es la herramienta principal para crear y gestionar estos destinos.
-
Especificidad: En sistemas basados en ABAP, un destino RFC siempre apunta a un mandante concreto del sistema destino.
-
Acceso: Un usuario puede acceder a los destinos RFC desde cualquier mandante del sistema de origen, siempre que tenga las autorizaciones necesarias.
-
Conexiones Lógicas: En entornos de intercambio de datos como ALE (Application Link Enabling), los destinos RFC se conocen también como "conexiones entre sistemas lógicos".
Para llamar a una función remota en código ABAP, se utiliza la siguiente sintaxis: CALL FUNCTION [nombre_función] DESTINATION [destino_rfc] EXPORTING... IMPORTING...
-
Parámetros: Se usan EXPORTING para enviar datos al sistema destino e IMPORTING para recibir los resultados devueltos por la función.
-
Credenciales: Al crear el destino en la SM59, se pueden predefinir las credenciales de inicio de sesión. Si no se incluyen, el sistema solicitará los datos de acceso al momento de la ejecución.
SAP permite establecer relaciones de confianza entre sistemas. Cuando un sistema emisor es "conocido" y confiable para el receptor (sistema Trusted), y el usuario que inicia la llamada existe en ambos sistemas con los permisos adecuados, no es necesario proporcionar una contraseña para realizar la conexión.
6. Relación con BAPIEl protocolo RFC es la base de las BAPI (Business Application Programming Interfaces). Las BAPI son módulos RFC especiales que siguen convenciones estrictas de SAP para interactuar con objetos de negocio de manera estandarizada.
BOR y BAPIS
1. Definición de BAPILa Business Application Programming Interface (BAPI) es una interfaz de programación estandarizada que permite el acceso (tanto interno como externo) a los procesos de negocio y datos dentro de un sistema SAP.
-
Enfoque en el Negocio: A diferencia de otras interfaces técnicas, las BAPIs permiten una integración a nivel de negocio. Esto otorga mayor estabilidad al enlace y lo hace independiente de la tecnología de comunicación subyacente.
-
Orientación a Objetos: Proporcionan una vista orientada a objetos de los datos de SAP.
El Business Object Repository (BOR) es el repositorio central donde se definen los Objetos de Negocio (BO) de SAP.
-
Estructura: El BOR contiene diversos Objetos de Negocio (por ejemplo, una "Orden de Venta" o SalesOrder).
-
Métodos: Una BAPI se define técnicamente como un método de estos objetos de negocio. Por ejemplo, la acción de cambiar una orden de venta sería el método SalesOrder.ChangeFromData.
-
Creación Técnica: Aunque se exponen como métodos en el BOR, las BAPIs se crean y prueban primero como módulos de función con capacidad RFC mediante la transacción SE37.
Para explorar las BAPIs disponibles en el sistema, se mencionan dos rutas principales:
-
Transacción SWO1 (Business Object Builder): Permite acceder al repositorio de objetos de negocio.
-
BAPI Explorer (Transacción BAPI): Es la herramienta específica para navegar y visualizar el catálogo completo de BAPIs de forma organizada.
Las BAPIs son versátiles y se utilizan en múltiples escenarios de integración:
-
Límites de Sistemas: Para vincular procesos de negocio entre diferentes sistemas (como en configuraciones ALE).
-
SAP Business Suite: Integración de las diversas soluciones que componen la suite de SAP.
-
Conectividad Externa: Permiten conectar el sistema SAP con internet y con software de terceros o sistemas heredados (legacy).
-
Automatización de Procesos: Se utilizan en conjunto con SAP Business Workflow para ejecutar tareas que exceden los límites de un solo sistema.
 
 
 
Sobre el autor
Publicación académica de Fernando Escola, en su ámbito de estudios para la Carrera Consultor SAP BASIS S/4HANA.
Fernando Escola
Profesión: Especialista en Infraestructura It - Argentina - Legajo: SJ78C
✒️Autor de: 58 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Soy un profesional de tecnología con más de 25 años de experiencia en infraestructura it, soporte técnico y administración de entornos corporativos. a lo largo de mi carrera trabajé brindando soporte
Certificación Académica de Fernando Escola
























