✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
Unidad 4. Lección 4. Modulos de función RFC
Se denomina RFC (Del inglés “Remote Function Call”) a la interfaz estándar que utiliza SAP para la comunicación entre sistemas SAP, así como tambien entre sistemas SAP y sistemas no SAP. Un módulo de funciones del tipo RFC llama a una función que se ejecutará en un sistema remoto.El objetivo principal de las RFC es acceder a otros ambientes para obtener datos.La RFC llamada no existe en el sistema origen pero si debe existir en el sistema destino.
Como crear una RFC
Un módulo de funciones RFC se crea de la misma manera que se crea una función. Se accede a la transacción SE37 y se completan los mismos parámetros que completamos para crear una función a excepción de que se debe seleccionar en la solapa de Atributos la opción Módulo de acceso remoto (Remote Enabled Module).
NOTA: Los parámetros que se crean en una función RFC no se pueden pasar por Referencia, deben pasarse por valor. Para esto se marca el check Transportar Valores para cada parámetro de las pestañas IMPORT, EXPORT y CHANGING.
Las funciones creadas como RFC pueden utilizarse como modulos de funciones normales. Esto se logra de dos formas:
- Utilizando la declaración CALL FUNCTION <nombre_funcion> DESTINATION 'NONE'.
- Utilizando la declaración de un modulo de función normal, sin el agregado de la clausula DESTINATION.
Tipos de RFC
Existen tres tipos de RFC:
- Sincrónicas: Requieren que los sistemas cliente y servidor estén disponibles en el momento de la comunicación o de la transferencia de datos. Es el tipo más común y es necesario cuando se requiere resultado inmediatamente después de la ejecución.
- Asincrónicas: Es la comunicación entre sistemas donde no se requieren acuses de recibo (que es similar a publicar la entrega de tarjetas) .Es no requiere tanto en el sistema que esté disponible en el momento de la ejecución y el resultado no se requiere de inmediato para ser enviado de nuevo a sistema de llamada, es decir, el programa llamador, llama a la función RFC y termina su procesamiento. Luego la función RFC se ejecuta independientemente del programa llamador. Para crear una RFC asincrónica se utiliza el sufijo STARTING NEW TASK.
- Transaccionales: Es una forma especial de RFC asincrónica .La RFC transaccional es un método de comunicación asíncrona que ejecuta el llamado módulo de función en el servidor RFC sólo una vez, incluso si los datos se envían varias veces debido a algún problema de red. Para crear una RFC transaccional se utiliza el sufijo IN BACKGROUND TASK. El sistema deja un log con el pedido de la llamada remota en las tablas estandar de SAP ARFCSSTATE y ARFCSDATA. Para visualizar el log, se emplea la transacción SM58. Cuando el programa que ejecuta la RFC, ejecuta la sentencia COMMIT WORK, es en ese momento cuando la llamada remota es enviada al sistema remoto para su ejecución.
No es posible debuggear una RFC de otro sistemas. Sin embargo cuando estamos probando una RFC desde un sistema SAP a otros sistema SAP podemos utilizar el debugger para monitorear la ejecución de la función RFC en el sistema remoto. Con las llamadas remotas, el debugger ABAP se ejecuta en el sistema local, los valores de los datos y otros valores de ejecución de la función remota son pasados al sistema remoto.
 
 
 
Sobre el autor
Publicación académica de Kelly Rocio Nino Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Kelly Rocio Nino Ramirez
Profesión: Ingeniero de Sistemas - Colombia - Legajo: PW14Z
✒️Autor de: 30 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Kelly Nino