✒️SAP BASIS Los fundamentos de las conexiones RFC
SAP BASIS Los fundamentos de las conexiones RFC
Unidad 6. Fundamentos de conexiones RFC
NOTA: Los sistemas SAP pueden comunicarse entre si utilizando llamadas de funciones remotas, que por sus siglas en ingles se conocen como RFC (Remote Function Calls). Un prerequisito es que el administrador haya configurado el sistema de interfaces.
1. Fundamentos de RFC
Las llamadas de funciones remotas han sido utilizadas por muchos años como la interfaz tecnica con la que los sistemas SAP y NO-SAP usualmente se conectan. No tiene relevancia si el intercambio de informacion se realiza de manera sincronica o asincronica, periodica o aperiodica o transaccional.
Una RFC es la llamada a un modulo de funcion que esta corriendo en un sistema diferente al programa que realiza la llamada. Podemos llamar a un modulo de funcion en el mismo sistema mediante una RFC tambien. De todas maneras, las RFCs normalmente son utilizadas cuando los modulos de funciones, el que llama y el que recibe el llamado se encuentran en sistemas diferentes.
En el sistema SAP, el sistema de interfaz RFC provee esta funcion. Permite llamadas a funciones entre dos sistemas SAP o entre un sistema SAP y un sistema no-SAP externo.
RFC, es un protocolo de interfaz de SAP basado en la interfaz de programacion comun para comunicaciones (por sus siglas en ingles CPI-C (Common Programming Interface for Communication)) y permite comunicacion entre programas de diferentes Hosts. Esto permite que las aplicaciones externas puedan llamar funciones ABAP y los sistemas SAP contactar aplicaciones externas que sean compatibles mediante RFC.
RFC tambien significa que los programadores ABAP no tienen que escribir sus propias rutinas de comunicacion. Para una llamada RFC, la interfaz necesita:
a) Convierte todos los parametros al formato requerido en el sistema remoto.
b) Invoca a las rutinas de comunicacion que se requieren para la comunicacion con el sistema remoto.
c) Maneja los errores que puedan ocurrir durante la comunicacion.
La interfaz RFC es de facil utilizacion para los programadores ABAP, los pasos de procesamiento para el llamado a los programas externos estan integrados dentro de la sentencia CALL FUNCTION.
Para poder llamar a una funcion remota (en un sistema remoto), deberemos definir el sistema remoto como un destino en el sistema desde donde realizaremos la llamada. Tambien se requiere autorizacion de acceso para el sistema remoto.
ACCION ACCESO A ADMINISTRACION DE CONEXIONES REMOTAS
> item del menu ppal
|-> Primer Sub Item
|-> 2do Sub Item
|-> 3er Sub Item
Se pueden manejar estas conexiones remotas en el sistema que llama. Para hacer esto, utilizaremos la funcion Display and Maintain RFC Destinations, ya sea seleccionando desde el arbol del menu del sistema la ruta:
>AdministrationAdministration
|-> Network
|-> RFC Destinations
O directamente llamando a la transaccion SM59.
NOTA: en un RFC siempre va a ir configurado un usuario de comunicacion
Hay una funcion de busqueda para los destinos que ya estan configurados. Para realizar una busqueda, selecciona Search y luego ingresa el nombre o parte del nombre. El sistema mostrará una lista de las entradas que concuerden.
Para modificar una RFC existente, seleccionamos el destino RFC en el menu de arbol y seleccionamos Change
NOTA: para copiar una conexion RFC existente, primero tenemos que ingresar a la conexion RFC que queremos copiar. Luego seleccionar: Connection - Copy
2. Variantes de utilizacion de RFC
a) RFC Sincronica (sRFC)
Para comunicacion entre diferentes sistemas y entre SAP Netweaver AS y SAP GUI. En estas comunicaciones el llamado a la funcion remota se basa en una comunicacion sincrónica por lo que el sistema remoto debe estar disponible en el momento de la llamada.
b) RFC Asincronica (aRFC)
Para comunicacion entre sistemas y para procesamiento paralelo de tareas. Con este tipo de comunicacion, aunque no es realmente asincronica ya que el sistema remoto debe estar disponible al momento de la comunicacion, el sistema origen (desde donde se realiza la llamada a la funcion remota) no necesita esperar una respuesta del sistema remoto para continuar su procesamiento y en este sentido es por el cual se denomina asincronica.
c) RFC transaccional (tRFC)
Este metodo si utiliza una forma de comunicacion asincronica. El sistema remoto no necesariamente debe de estar disponible al momento de la llamada por el programa en el sistema origen. Si una llamada es ejecutada y el sistema destino no esta disponible, la llamda se mantiene en una cola local del sistema origen. El programa que ejecutó la llamada puede proceder sin esperar si el resultado de la llamada fue exitoso o no.
d) RFC encolada (qRFC)
Para garantizar que se procesen en el mismo orden en el que se realizaron las llamadas en el sistema origen, qRFC garantiza esto. Es una extension de tRFC, se utiliza cuando necesitamos que el procesamiento se realice con un orden predefinido (establecido por el orden de los llamados desde el programa en el sistema origen).
RFC es un termino general para las diferentes variantes de implementacion. sRFC es la llamada de modulo de funciones sincronica. Esto significa que el cliente espera hasta que el servidor ha completado el procesamiento de la funcion remota,
Dentro de un sistema SAP, una RFC puede tambien ser ejecutada de forma asincronica mediante el uso de un work process, la variante se conoce como aRFC.
Tambien esta tRFC que es la llamada de funcion remota transaccional, la cual es asincronica ya que asegura que la informacion puede ser enviada mas de una vez al sistema destino sin problemas de comunicacion en la red y son reconocidos del lado del servidor. Para esto un identificador de transaccion (TID) se asigna al llamado. Esto es util para prevenir que la informacion se procese mas de una vez en el sistema lo que podria ocasionar informacion erronea en la aplicacion debido al procesamiento asincronico.
qRFC con cola de envio es una extension de tRFC, crea una capa entre la aplicacion y tRFC y permite enviar los parametros de la funcion remota si no existen ejecuciones anteriores pendientes en la cola. Luego de que una unidad logica de trabajo (LUW) es ejecutada, el coordinador de qRFC automaticamente procesa el siguiente llamado en concordancia con la secuencia de la cola.
 
 
 
Sobre el autor
Publicación académica de Luis Alberto Caro Montañez, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Luis Alberto Caro Montañez
Profesión: Ingeniero en Sistemas - Mexico - Legajo: ML16S
✒️Autor de: 106 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Mi principal objetivo es formar parte de un equipo profesional, en el que los logros y éxitos de cada uno sean reconocidos en un ambiente de trabajo optimo y agradable.
Certificación Académica de Luis Caro