✒️SAP BASIS Los fundamentos de las conexiones RFC
SAP BASIS Los fundamentos de las conexiones RFC
FUNDAMENTOS DE LAS CONEXIONES RFC
Los sistemas SAP pueden comunicarse entre sí utilizando Llamadas de funciones remotas, que por sus siglas en ingles se conocen como RFCs (Remote Function Calls). Un prerrequisito para esto es que el administrador haya configurado el sistema de interfaces.
Los fundamentos de RFC
Las llamadas de Funciones Remotas han sido utilizadas por muchos años como la interfaz técnica con la que los sistemas SAP y no-SAP usualmente se conectan. No tiene relevancia si el intercambio de información se realiza de manera sincrónica o asincrónica, periódica o apreriódica, o transaccional.
Una RFC es la llamada a un módulo de función que está corriendo en un sistema diferente al programa que realiza la llamada. Se puede llamar a módulo de función en el mismo sistema mediante una RFC también. De todas maneras, las RFCs normalmente son utilizadas cuando los módulos de funciones, el que llama y el que recibe el llamado, se enciuentran en sistemas diferentes.
En el sistema 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 interfas de Programación Común Para Comunicaciones, por sus siglas en inglés CPI-C (Common Programming Interface for Communication) y permite comución 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 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 las rutinas de comunicación que se requieren para la comunicacón con el sistema remoto.
- Maneja los errores que pueden ocurrir durante la comunicación.
La interfaz RFC es de fácil 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), se debe definit el sistema remoto como un destino en el sistema desde donde se realiza la llamada. Tambien se requiere autorización de acceso para el sistema remoto.
-------------------------------------------------------------------------------------------------
ACCIÓN DE ACCESO A ADMINISTRACIÓN DE CONEXIONES REMOTAS
- Item de menú principal -> Primer Sub Item -> Segundo Sub Item -> Tercer Sub Item.
Se pueden manejar las conexiónes remotas en el sistema que llama. Para hacer eso, se utiliza la función Display and Maintain RFC Destinations, ya sea seleccionado desde el árbol del meú del sistema la ruta.
- Administration -> Natwork -> RFC Destinations
O directamente llamando la tx 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 ya que estan configurados. Para realizar una búsqueda, seleccionar Serach y luego ingresar el nombre o parte del nombre. El sistema mostrará una lista de las entradas que concuerden. Para modificar una conexión RFC existente, se selcciona el destino RFC en el arbol y se selecciona Change.
Para copiar una conexión RFC existente, primero se tiene que ingresar la conexión RFC que se quiere copiar y luego seleccionar Connection - Copy.
Las variantes de utilización de RFC
- RFC Sincrónica (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 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 tareas. Con este tipo de comunicación, aunque no es realimente asincronica ya que el sistema remoto debe estar dispoinle al momento de la comunicación, el sistema de origen (donde desde se realiza la llamada a la función remota) no necesita esperar una respuesta del sistema remoto para continuar su procesamiento y en este sentido es por el cual se denomina asincónica.
- RFC Transaccional (tRFC): Este método si utiliza una forma de comunicación realmente asincrónica. El sistema remoto no necesariamente debe estar disponible al mometo de la llamada por el programa en el sistema origen. Si una llamada es ejecutada y el sistema despino no está disponible, la llamada se mantiene en una cola local del sistema origen. El programa que ejecutó la llamada puede proceder sin esperar 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 al sistema origen, qRFC garantiza esto. Es una extensión de tRFC. Se utiliza cuando se necesita que el procesamiento se realice con una orden predefinido (establecido por el orden de los llamados desde el progrma en el sistema origen).
RFC es un término 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 de un sistema SAP, una RFC puede tanbié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 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 secuencia de la cola.
 
 
 
Sobre el autor
Publicación académica de Marcelo Lara Goudet, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Marcelo Lara Goudet
Profesión: Ingeniero en Informática - Venezuela - Legajo: KG93M
✒️Autor de: 13 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Ingeniero en informática, con más de 15 años de experiencia en el área, actualmente realizando el curso de consultor basis nivel inicial
Certificación Académica de Marcelo Lara