✒️SAP BASIS Los fundamentos de las conexiones RFC
SAP BASIS Los fundamentos de las conexiones RFC
"Lo sistemas SAP pueden comunicarse entre si utilizando llamadas a funciones remotas, que por sus siglas en inglés se conocen como RFCs (Remote Function Calls), Un prerrequisito para esto es que el administrador haya configurado el sistema de interfaces".
Fundamenteos de RFC
Las llamadas a Funciones Remotas han sido utilizadas por muchos años como la interfaz técnica con la que los sitemas SAP y no SAP usualmente se conectan. No tiene relevancia si el intercambio de información se realiza de manera sincrónica o asincronica, periódica o aperiódica, o transaccional.
Una RFC es la llamada a un módulo de función que esta corriendo en un sistema diferente al programa que realiza la llamada. Podemos llamas a un módulo de función en el mismo sistema mediante una RFC también. de todas maneras, las RFCs normalmente son utlizadas cuando los módulos de funciones, el que llama el que recibe el llamado , se encuentran en sistemas diferentes.
En el sistema SAP el sistema de interfaz RFC provee esta función, el sistema de interfaz de RFC permite llamadas a funciones entre dos sistemas SAP p entre un sistema SAP y un sistema no-SAP externo.
RFC es un protocolo de interfaz de SAP basado en la interfaz de Programación común para comunicaciones por sus siglas en inglés CPI-C (Common Programing Interface for Commnunication) y permite comunicación entre programas diferentes hosts. Esto permite que las aplicaciones externas puedan llamas funciones ABAP y los sistemas de SAP contactar aplicaciones externas que sean compatibles mediante RFC.
RFC significa que los programadores ABAP no tienen que excribir sus propias rutinas de comunicación, para una llamada RFC, la interefaz RFC:
- Convierte todos los parámetros al formato requerido en el sistema remoto.
- Invoca rutinas de comunicación que se querien para la comunicación con el sistema remoto.
- Maneja los errores que puedan ocurrir durante la comunicación.
La interfaz RFC es de facil utilización para los programadores ABAP. Los pasos de procesamiento para el llamado a los programas externos están integrados dentro de la sentencia CALL FUNCTION.
Para poder llamar a una función remota (en un sistema remoto) deberamos definir el sistema remoto como un destino en el sistema desde donde realizamos la llamada. también se requiere autorización de acceso para el sistema remoto.
Se puede acceder a RFC desde la transacción SM59, los tipos de conexixón y todos los destinos existentes se muestran en una estructura de árbol en la pantalla inicial. Para detalles sobre los tipos de conexión disponibles podemos observar la documentación.
Hay una función de búsqueda para los destinos que ya están configurados. Para realizar la busqueda, seleccionar Search y luego ingresar el nombre o parte del nombre. El sistema monstrará una lista de las entradas que concuerden.
Para modificar una conexión RFC existente, seleccionamoss el destino RFC en el menú de árbol y seleccionamos change.
"Para copiar una conexión RFC existente, primero tenemos que ingresar a la conexión RFC que queremos copiar. Luego seleccionar connection -> copy.
Variantes de utilización de RFC
RFC sincrónica (sRFC)
- Para comunicación entre diferentes sistemas y entre SAP Netweaver y SAP GUI, En estas comunicaciones el llamado a la función remota se basa en una comunicación sincrónica por lo que el sistema remoto debe estar disponible en el momento de la llamada.
RFC asincrónica (aRFC)
- Para comunicación entre sistemas y para procesamiento paralelo de taras. Con este tipo de comunicación aunque no es realmente asincrónica ya que el sistema remoto debe estar disponible al momento de la comunicación, el sistema origen no necesita esperar una respuesta del sistema remoto para continuar y en este sentido es por elcual se denonimca asincrónica.
RFC transaccional (tRFC)
- Este método se utiliza una forma de comunicación realmente asincrónica. El sistema remoto no necesariamente debe estar disponible al momento de la llamada por el programa en el sistema origen. SI una llamada es ejecutada y el sistema no esta disponible, la llamada 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.
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 extensión de tRFC. Se utiliza cuando necesitamos que el procesamiento se raelice con un orden predefinido
- RFC es un termino general para diferentes variantes de implementación. sRFC es la llamada de módulo de funciones sincrónica. Esto significa que el cliente espera hasta que el servidor ha completado el procesamiento de la función remota.
- Dentro un sistema SAP, una RFC puede también se ejecutada de forma asincrónica mediante el uso de otro work process. La variante se conoce como aRFC.
- También está tRFC que es la llamda de función remota transaccional, la cual es asincrónica ya que asegura que la información puede ser enviada mas de una vez al sistema destino sin problemas de comunicación en la red suceden y son reconocidos del lado del servidor. Para esto un identificador de transacción (TID) se asigna al llamado. Esto es útil para prevenir que la información se procese más de una vez en el sistema lo que podría ocasionar información errónea en la aplicación debido al procesamiento asincrónico.
- qRFC con cola de envío es una extensión de tRFC. Crea una capa entre la aplicación y tRFC y permite enviar los parámetros de la función remota si no existen ejecuciones anteriores pendientes en la cola. Luego de que una unidad lógica de trabajo (LUW) es ejecutada, el coordinador de qRFC automáticamente procesa el siguiente llamado en concordancia con la sencuencia de la cola.
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Mazariegos, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Miguel Angel Mazariegos
Profesión: Ingeniero en Ciencias y Sistemas - Guatemala - Legajo: CO73X
✒️Autor de: 79 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Miguel Mazariegos