✒️SAP BASIS Los fundamentos de las conexiones RFC
SAP BASIS Los fundamentos de las conexiones RFC
FUNDAMENTOS DE CONEXIONES RFC
Los sistemas SAP pueden comunicarse entre sí utilizando Llamadas de funciones remotas o RFCs (Remote Funcion Calls).
FUNDAMENTOS DE RFC
Las Llamadas de funciones remotas han sido utilizadas como la interface técnica con la que los sistemas SAP y no-SAP se conectan.
No tiene importancia si el intercambio se realiza de manera síncrona, asíncrona, periódica, aperió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 un módulo de función en el mismo sistema mediante una rfc
Las RFCs normalmente son utilizadas cuando los módulos de funciones, el que llama y el que recibe (el llamado), se encuentra en sistemas diferentes.
RFC es un protocolo de interfaz de SAP basado en la interfaz Programación Común Para Comunicaciones o CPI-C (Common Programming Interface for Communication) y que permite comunicación entre programas de diferentes hots.
Esto permite que 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 tiene que escribir sus propias rutinas de comunicación. La interfaz RFC:
Convierte todos los parámetros al formato requerido en el sistema remoto
Invoca a las rutinas de comunicación que se requieren 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 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), deberemos 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.
ACCION ACCESO A ADMINISTRACION DE CONEXIONES REMOTAS
Se pueden manejar estas conexiones remotas en el sistema que llama. Para hacer esto utilizamos la función DISPLAY AND MANTAIN RFC DESTINATIOS, desde el menú:
MENU -> Administration->Network->RFC Destiantions
O llamando a la transacción SM59.
Los tipos de conexión y todos los destinos existentes se nos mostraran en una estructura de árbol en la pantalla inicial.
Para ver detalles sobre los tipos de conexión disponibles, podemos revisar la documentación.
NOTA: En una RFC se debe usar un usuario de Tipo Comunicaciones (no le caduca la contraseña). Si se usa un usuario de Tipo Dialogo, el RFC dejará de funcionar cunado le caduque la contraseña.
Se puede realizar búsquedas de los destinos ya configurados (icono prismático).
Para modificar una RFC existente, seleccionamos el destino RFC en el menú del árbol y pulsamos CHANGE (icono lápiz).
Podemos también copiar una RFC existente, entramos en la conexión y luego seleccionamos connection -> copy.
VARIANTES DE UTILIZACION DE RFC
RFC sincrónica (sRFC): para comunicación ente diferentes sistemas y entre SAP NETWEAVER AS y SAP GUI. 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. El sistema origen (desde donde se realiza la llamada) no necesita esperar una respuesta del sistema remoto para continuar su procesamiento, aunque el sistema destino si debe estar disponible cuando se realiza la llamada.
RFC Transaccional (tRFC): Este método es realmente asíncrono. El sistema remoto no necesariamente debe estar disponible en el momento de la llamada. Si el sistema destino no está disponible la llamada se queda en una cola local del sistema origen a la espera de poder ser procesada. El programa que ejecutó la llamada puede proceder sin esperar si el resultado de la llamada fue exitoso o no.
RFC encolara (qRFC): Garantica 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 cunado necesitamos que el procesamiento se realice en u orden predefinido (establecido por el orden de las llamadas desde el programa en el sistema origen).
RFC es un término general para diferentes variantes de implementación.
sRFC es la llamada de módulo de funcionas síncrona, el cliente espera hasta que el servidor ha completado el procesamiento de la función remota
aRFC, Mediante el uso de otro work process, se puede llamar a una rfc esto se conoce como aRFC.
tRFC es asíncrona y asegura que la información puede ser enviada más de una vez al sistema destino si ocurren problemas de comunicación en la red y el servidor los detecta. Se asigna un TID (Identificador de transacción) al sistema llamado. Es útil parara 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 al procesar asíncronamente.
qRFC: extensión de la tRFC, crea una capa entra la aplicación y tRFC y que permite enviar los parámetros de la función remota si no existen ejecuciones anteriores pendientes en la cola. Cuando una unidad lógica de trabajo (LUW) es ejecutada, el coordinador de la qRFC automáticamente procesa la siguiente siguiendo la cola y envía los parámetros.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial