✒️SAP BASIS Los fundamentos de las conexiones RFC
SAP BASIS Los fundamentos de las conexiones RFC
Unidad 6. Lección 1. Fundamentos de conexiones RFC.
Los sistemas SAP se pueden comunicar entre si utilizando Llamadas de Funciones Remotas (RFCs). Un prerrequisito para ello es que el administrador haya configurado el sistema de interfaces.
1. Fundamentos de RFC.
Las RFCs se han utilizado por años como la interfaz técnica con la que los sistemas SAP y no-SAP se conectan. No tiene relevancia si el intercambio de informacion se realiza de manera sincronica o asincronica, periodica o aperiodica, o transaccional.
RFC es la llamada a un modulo de función que esta corriendo en un sistema diferente al programa que realiza la llamada. Se puede llamar a un modulo de funcion en el mismo sistema con una RFC. Las RFCs son generalmente utilizadas cuando los modulos de funciones, el que llama y el que recibe, se encuentran en diferentes sistemas. SAP provee del RFCs permitiendo las llamadas de funciones entre dos sistemas SAP, 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 Comun Para Comunicaciones (CPI-C) y permite comunicacion entre programas de diferentes hosts; lo que permite que las aplicaciones externas llamen funciones ABAP y los sistemas SAP contactar aplicaciones externas que sean compatibles mediante RFC.
Los programadores ABAP no tienen que escribir sus propias rutinas de comunicacion, sino que utilizan RFCs de SAP.
Para una llamada RFC, la interfaz RFC:
- Convierte todos los parametros al formato requerido en el sistema remoto.
- Invoca a las rutinas de comunicacion que se requieren para la comunicacion con el sistema remoto.
- Maneja los errores que pueden ocurrir durante la comunicacion.
La interfaz RFC es facil para los programadores ABAP, ya que los pasos de procesamiento para el llamado a los programas externos estan integrados dentro de la sentencia CALL FUNCTION.
Para llamar una funcion remota (en un sistema remoto) debemos definir el sistema remoto como un destino en el sistema desde donde realizamos la llamada. Tambien se requiere autorizacion de acceso para el sistema remoto.
Accion Acceso a administración de conexiones remotas.
Tx SM59. Permite visualizar los tipos de conexion y todos los destinos existentes, se muestran en estructura de arbol en la pantalla inicial. Para detalles sobre los tipos de conexion disponibles, podemos observar la documentacion.
Par ver el menu desde el menu del sistema:
AdministrationAdministration -> Network ->RFC Destinations.
Para realizar una busqueda de los destinos configurados, seleccionar Search e incgresar el nombre o parte del nombre.
Para modificar una conexion RFC existente, seleccionar el destino RFC en el menu de arbol y selecionar Change.
Para copiar una RFC existente, primero ingresar a la conexion RFC q vamos a copiar y luego seleccionar Conecction -> copy
TIP. Las RFC son fundamentales para la comunicacion entre sistemas SAP. En cuestion de seguridad, existe un tipo de usuario que es de Comunicacion. En toda RFC debe haber siempre un usuario de comunicacion. Ya que a este usuario no tiene cambio de pasword y las conexiones RFC no tendran problema. Ya que si se utilizan usuario de dialogo, a determinado tiempo tiene que cambiar su pasword, que para el usuario es transparente, sin embargo para los procesos en la RFC dejan de funcionar sin que nadie toque nada, por lo que si o si va un usuario de comunicacion.
2. Variantes de Utilizacion de RFC.
- RFC sincrónica (sRFC). Sirve 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 sincronica por lo que el sistema remoto debe estar disponible en el momento de la llamada.
- RFC asincrónica (aRFC). Sirve para comunicacion entre sistemas y para procesamiento paralelo de tareas. Con este tipo de comunicacion, aunque realmente no es asincrónica, ya que el sistema remoto debe estar disponible al momento de la comunicación, 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 asincrónica.
- RFC transaccional (tRFC). Esta si utiliza una forma de comunicacion realmente asincronica. 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 esta disponible, la llamada se mantiene en una cola local del sistema origen. El programa que ejecuto la llamada puede proceder sin esperar si el resultado de la llamada fue exitoso o no.
- RFC encolada (qRFC). Garantiza que se procesen en el mismo orden en que se realizaron las llamadas en el sistema origen. Es una extension de tRFC. Se utiliza cuando necesitamos que el procesamiento se realice con unorden predefinido (establecido por el orden de los llamados desde el programa en el sistema origen)
RFC es un termino general para diferentes variantes de implementacion. sRFC es la llamada de modulo de funciones sincrónica, lo que 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 asincrónica mediante el uso de otro work process. La variante se le conoce como aRFC
la tRFC es asincronica ya que asegura que la informacion puede ser enviada mas de una vez al sistema destino si problemas de comunicacion 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 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.
La qRFC con cola de envio es una extensión de rRFC. Crea una capa entre la aplicación y tRFC y permite enviar los parámetros de la funcion 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 Marybell Adriana Hernandez Robles, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Marybell Adriana Hernandez Robles
Profesión: Ing. en Sistemas Computacionales / Mti - Mexico - Legajo: SC27M
✒️Autor de: 50 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Marybell Hernandez