✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
1. Qué es un módulo de función RFC?
Consiste en una llamada a una función que existe en un sistema distinto al del programa que la llama. RFC (Remote Function Call) permite la comunicación entre sistemas SAP o entre sistema SAP y no SAP. La configuración de las RFC se ejecuta por medio de la Tx SM59. Para hacer un llamado a una función RFC se debe usar la cláusula DESTINATION al momento de declarar la función. La RFC llamada no existe en el sistema origen pero debe existir en el sistema destino.
Los mensajes de error en tiempo de ejecución de la RFC deben ser devueltos por el sistema remoto y estos se alojan en las variables de sistema SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3 Y SY-MSGV4.
2. Cómo crear una RFC?
Se crea de la misma manera como se crea una función, por medio de la Tx SE37 y se completan los mismos parámetros que se completan para crear una función, a excepción que en la pestaña Atributos la opción de Módulo de acceso Remoto debe estar seleccionada. Se debe tener en cuenta que los parámetros que se crean no se pueden pasar por referencia, sino por valor. Para estos se debe escoger el check Transportar Valores para cada parámetro en las pestañas IMPORT, EXPORT y CHANGING.
Las funciones creadas como RFC pueden ser utilizadas como módulos de función Normales:
- Utilizando la declaración CALL FUNCTION DESTINATION 'NONE'.
- Utilizando la declaración de un módulo de función normal, sin el agregado de la clausula DESTINATION.
3, Tipos de RFC
Existen 3 tipos:
- Sincrónicas -> Ambos sistemas deben estar disponibles al momento de la llamada de la función. Basadas en una comunicación síncrona entre sistema emisor y receptor. Es la mayormente utilizada.
- Transaccionales -> Los sistemas no necesitan estar disponibles al momento de la llamada de la función. Se genera un único ID de transacción y los programas llamados son almacenados en el sistema junto con los datos. Para crearla se debe usar el sufijo IN BACKGROUND TASK. El sistema deja un log con la invocación remota en las tablas estandar de SAP ARFCSSTATE y ARFCSDATA con los valores de parámetro pasados en la ejecución. Para la visualización de este log se utiliza la Tx SM58. Cuando el programa que ejecuta la RFC invoca la sentencia COMMIT WORK entonces es cuando la llamada es enviada al sistema remoto para su ejecución.
- Asincrónicas -> El program llamador invoca la función RFC y luego termina su procesamiento. Luego la función RFC se ejecuta de manera independiente del programa que la llamó. Para crear este tipo de RFC se debe usar el sufijo STARTING NEW TASK.
 
 
 
Sobre el autor
Publicación académica de Jose Hernando Donado Cervantes, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Hernando Donado Cervantes
Profesión: Ingeniero de Sistemas - Colombia - Legajo: KU74P
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Jose Donado