✒️SAP BASIS Los fundamentos de las conexiones RFC
SAP BASIS Los fundamentos de las conexiones RFC
Fundamentos de conexiones RFC:
Los sistema SAP pueden comunicarse entre sí usando llamadas de funciones remotas, RFCs (Remote Function Calls). Un prerrequisito para esto es que el administrador haya configurado el sistema de interfaces
1. Fundamentos de RFC
Las RFC han sido usadas por muchos años como la interfaz técnica con la que los sistems SAP y no-SAP se conectan. No tiene relevancia si el intercambio de información se realiza de manera sincronica o asincrónica, 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 llamar a un mòdulo de función en el mismo sistema mediante una RFC. Las RFCs son usadas cuando los módulos de funciones, el que llama y el que recibe el llamado están en sistemas distintos
En SAP, el sistema de interfaz RFC provee esta función. El sistema de interfaz RFC 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 programación común para comunicaciones, por sus siglas CPI-C (Common Programming Interface for Communication) y permite comunicación entre programas de diferentes hosts, permitiendo que las aplicaciones externas puedan llamar funciones ABAP y los sistemas SAP contactar aplicaciones externas que sean compatibles mediante RFC
RFC significa que los programadores ABAP no tienen que escribir sus propias rutinas de comunicación. Para una llamada RFC, la interfaz RFC:
> Convierte todos los parámetros al formato requerido en el sistema remoto
> Invoca a las rutinas de comunicación que se requieran para la comunicación con el sistema remoto
> Maneja los errores que pueden ocurrir durante la comunicación
La interfaz RFC es de fácil uso 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, definimos 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
* Acción Acceso a administración de conexiones remotas
Describir paso a paso como alcanzar una acción vìa menú, sin dudas ayudará a los alumnos
> item del menú principal
|-> Primer sub Item
|-> segundo sub ítem
|-> tercer sub ítem
Se pueden manejar estas conexiones remotas en el sistema que llama. Para hacer esto, usamos la función 'Display and Maintain RFC Destinations', ya sea seleccionando desde el árbol del menú del sistema la ruta
> AdministrationAdministration
|-> Network
|-> RFC Destinations
O directamente llamando a la transacción SM59. Los tipos de conexión y todos los destinos existentes se muestran en una estructura de árbol en la pantalla inicial
Hay una función de búsqueda para los destinos que ya están configurados. Para realizar una búsqueda, selecciona Search y luego ingresa el nombre o parte del nombre. El sistema mostrará una lista de las entradas que concuerden
Para modificar una conexión RFC existente, seleccionamos el destino RFC en el menú de árbol y seleccionamos Change
Para copiar una conexión RFC existente, se ingresa a la conexión RFC a copiar, luego seleccionamos Connection –> Copy
2. Variantes de utilización de RFC
> RFC sincronica (sRFC)
Para comunicación entre diferentes sistemas y entre SAP Netweaver AS Y SAP GUI. En estas comunicaciones el llamado a la función remota se basa en una comunicación sincronica 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 tareas. 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 su procesamiento y en este sentido es por el cual se denomina asicrónica
> RFC transaccional (tRFC)
Este método si utiliza una forma de comunicación realmente asincornica. 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 destino no está 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 fue o no exitoso
> RFC encolada (qRFC)
Este método garantiza que se procesen en el mismo orden en el que se realizaron las llamadas en el sistema origen. Es una extensión de tRFC, Se utiliza cuando necesitamos que el procesamiento tenga un orden predefinido
RFC es un término general para diferentes variantes de implementación. sRFC es la llamada de módulo de funciones sincrónica. Esto es, el cliente espera hasta que el servidor ha completado el procesamiento de la función remota
Dentro de SAP, una RFC puede también ser 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 llamada de Función Remota Transaccional, la cual es asincrónica ya que asegura que la información puede ser enviada más de una vez al sistema destino si suceden problemas de comunicación en la red 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 unidad lógica de trabajo (LUW) es ejecutada, el coordinador de qRFC automáticamente procesa el siguiente llamado en concordia con la secuencia de la cola
 
 
 
Sobre el autor
Publicación académica de Ruben Lugo, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Ruben Lugo
Mexico - Legajo: UX67S
✒️Autor de: 48 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Experienced developer oracle
Certificación Académica de Ruben Lugo