✒️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 si 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.
1. Fundamentos de RFC
Las Llamadas de Funciones Remotas han sido utilizadas por muchos años como la interfaz tecnica con la que los sistemas SAP y no-SAP usualmente se conectan. No tiene relevancia si el intercambio de informacion se realiza de manera sincronica o asincronica, periodica o aperiodica, o transaccional.
Una RFC es la llamada a un modulo de funcion que esta corriendo en un sistema diferente al programa que realiza la llamada. Podemos llamar a un modulo de funcion en el mismo sistema mediante una RFC tambien. De todas maneras, las RFCs normalmente son utilizadas cuando los modulos de funciones, el que llama y el que recibe el llamado, se encuentran en sistemas diferentes.
En el sistema SAP, el sistema de interfaz RFC provee esta funcion. 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 Programacion Comun Para Comunicaciones, por sus siglas en ingles CPI-C (Common Programming Interface for Communication) y permite comunicacion 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 comunicacion. 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 de facil utilizacion para los programadores ABAP. Los pasos de procesamiento para el llamado a los programas externos estan integrados dentro de la sentencia CALL FUNCTION.
Para poder llamar a una funcion remota (en un sistema remoto), deberemos 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 administracion de conexiones remotas
Describir paso a paso como alcanzar una accion via menu, sin dudas ayudara a los alumnos.
>Item del menu principal.
|-> Primer Sub Item
|->Segundo Sub Item
|-> Tercer Sub Item
Se pueden manejar estas conexiones remotas en el sistema que llama. Para hacer esto, utilizamos la funcion Display and Maitain RFC Destinations, ya sea seleccionando desde el arbol del menu del sistema la ruta
>AdministrationAdministration
|->Network
|->RFC Destinations
O directamente llamando a la transaccion SM59. Los tipos de conexion y todos los destinos existentes se muestran en una estructura de arbol en la pantalla inicial. Para detalles sobre los tipos de conexion disponibles, podemos observar la documentacion.
Hay una funcion de busqueda para los destinos que ya estan configurados. Para realizar una busqueda, selecciona Search y luego ingresa el nombre o parte del nombre. El sistema mostrará una lista de las entradas que concuerden.
Para modificar una conexion RFC existente, seleccionamos el destino RFC en el menu de arbol y seleccionamos Change.
Nota: Para copiar una conexion RFC existente, primero tenemos que ingresar a la conexion RFC que queremos copiar. Luego seleccionar Connection --> Copy.
2. Variantes de Utilizacion de RFC:
- RFC sincronica (sRFC): para comunicacion entre diferentes sistemas y entre SAP NW 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 asincronica (aRFC): para comunicacion entre sistemas y para procesamiento paralelo de tareas. Con este tipo comunicacion, aunque no es realmente asincronica ya que el sistema remoto debe estar disponible al momento de la comunicacion, el sistema origen (desde donde se realiza la llamada a la funcion remota) no necesita esperar una respuesta del sistema remoto para continuar su procesamient y en este sentido es por el cual se denomina asincronica.
- RFC transaccional (tRFC): este metodo 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): 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 extension de tRFC. Se utiliza cuando necesitamos que el procesamiento se realice con un orden 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 sincronica. Esto significa que el cliente espera hasta que el servidor ha completado el procesamiento de la funcion remota.
Dentro un sistema SAP, una RFC puede tambien ser ejecutada de forma asincronica mediante el uso de otro work process. La variante se conoce como aRFC.
Tambien esta tRFC que es la Llamada de Funcion Remota Transaccional, la cual 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 Transaccion (TID) se asigna al llamado. Esto es util para prevenir que la informacion se precese mas de una vez en el sistema lo que podria ocasionar informacion erronea en la aplicacion debido al procesamiento asincronico.
qRFC con cola de envio es una extension de tRFC. Creo una capa entre la aplicacion y tRFC y permite enviar los parametros de la funcion remota si no existen ejecuciones anteriores pendientes en la cola. Luego de que una unidad de trabajo ( LUW ) es ejecutada, el coordinador de qRFC automaticamente procesa el siguiente llamado en concordancia con la secuencia de la cola.
 
 
 
2 Agradecimientos:
Han agradecido este aporte: Silvana Garcés Ulloa, Hugo Ocaranza
#1 / 22 de Oct de 2014 / Hugo Ocaranza: |
Sobre el autor
Publicación académica de Meyer Macabeo, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Meyer Macabeo
Profesión: Consultor Sap Basis - Mexico - Legajo: BE53Z
✒️Autor de: 65 Publicaciones Académicas
🎓Cursando Actualmente: Consultor BASIS Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Meyer Macabeo