✒️SAP BASIS Las RFC y BAPIS
SAP BASIS Las RFC y BAPIS
RFC y BAPIS
1.-Introducción a Interfaces
-Los sist 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
-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 sist SAP usan las siguientes tecnologías de interfaces:
*ALE: Application Link Enabling
*BAPI: Business Program Interface Communication
*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 Languaje
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 sist SAP
-Las RFC permiten que funciones predefinidas puedan llamarse y ejecutarse en un sist remoto, o dentro del mismo sist. 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 los RFCs puedan utilizarse para hacer llamadas a funciones en sist NO-SAP.
-El procedimiento para las comunicaciones RFC entre dos sist SAP consiste en que el sist genera la llamada (sist origen) usa una definición RFC en el sist 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 se quiere iniciar programas externos de forma remota, es necesaria una interface remota fuera el sist SAP. Esto podría ser, por ej, 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 sist 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 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 sist 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 aquellas que serán de salida, donde gralmente obtenemos el resultado de la función (exportación). También debe existir una conexión técnica entre los dos sist. Esta conexión se llama conexión RFC o destino RFC
-GESTION DE LA CONEXION RFC
Podemos gestionar las conexiones RFC mediante:
>Tools
->Administration
->Network
->RFC Destinations o usando la transacción SM59
-Se puede tener tantas conexiones RFC entre dos sist como clientes existan en el sist destino. Ya que debemos especificar un usuario para loguearnos al sist destino en cada conexion RFC, podemos acceder también a un cliente en el sist desino varias veces simultáneamente, ej: con un usuario logon diferente cada vez
-Si se requiere de una conexión RFC bidireccional entre dos sistemas esto es que el sist destino pueda tambien ejecutar módulos RFC en el sist origen, entonces necesitamos configurar una conexión RFC equivalente en el sist destino hacia el sist origen.
-Cuando es está definiendo destinos RFC, la conexión RFC es:
*Direccionada a un cliente, cuando éstas apuntan a un sist SAP como destino
*Accesible desde todos los clientes en el sist origen
En el código ABAP, usamos RFCs para llamar a un módulo de función en otro sist de la sigte manera:
CALL FUNCTION
DESTINATION
EXPORTING.......
IMPORTING ....
3.-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 sist 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 sist 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 , ej:utilizando el botón Business Object Repository en el Constructor de Objetcos de Negocio (Business Object Builder), Transacción SW01
-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 sist SAP, son usadas en el contexto muy variado.
-Aqui hay algunos ejemplos de posibles usos para las BAPIs:
*Conectar procesos más allá de los límites de un sist, ej: cuando se utiliza ALE
*Utilizadas por SAP para integrar distintas soluciones del conjunto mySAP Business Suite
*Para conectar un sist SAP al Internet
*Utilizadas en conjunto con SAP Business Workflow
*Para conectar con programas externos
OJO: 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
 
 
 
Agradecimiento:
Ha agradecido este aporte: Mauricio Torres Hidalgo
Sobre el autor
Publicación académica de Bernardita Susana Gatica Carrillo, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Bernardita Susana Gatica Carrillo
Profesión: Ingeniera en Informática - Chile - Legajo: MS79M
✒️Autor de: 115 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Bernardita Gatica