![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
![ABAP Los módulos de funciones RFC ABAP Los módulos de funciones RFC](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/43.jpg)
Módulo de Función RFC
Consiste en la llamada a una función que existe en un sistema distinto al programa que la llama.
Si se produjera un error el sistema remoto devuelve las siguientes variables:
SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3, SY-MSGV4
Estas pueden ser utilizadas para el mismo ambiente al igual que una función normal o poniendo la palabra DESTINATION en el llamado para indicar el ambiente.
Creación de una función RFC,
Se crea igual que una función a excepción que en la pestaña atributos se selecciona Modulo de acceso remoto
Los parámetros no pueden pasarse por referencia, deben pasarse por valor (se debe seleccionar el check de transp valores en las pestañas de IMPORT, EXPORT, MODIF)
Tipos de RFC
Sincrónico: ambos sistemas deben estar disponibles al momento de llamar la función. Es el mas comunmente utilizado
Transaccionales: Los sistemas no necesitan estar disponibles. se genera un único ID de transacción
CALL FUNCTION 'RFC_FUNCTION_N'
IN BACKGROUND TASK
DESTINATION 'DEST'
EXPORTING...
TABLES...
END FUNCTION.
COMMIT WORK (En este momento se ejecuta la transacción)
En esta tipo de función el sistema deja en un log con el pedido de la llamada remota en las tablas estándar de SAP ARFCSSTATE y ARFCSDATA con todos los valores de los párametros pasados en la ejecución
Por medio de la transacción SM58 podemos visualizar el log de errores de las RFC transaccionales
Esta transacción es utilizada cuando se requiera ejecutar una acción que no sea en línea, sino que puede esperar hasta que se ejecuta la sentencia COMMIT WORK
Asincronicas: El programa llamador, llama la función RFC y después termina su procesamiento. Luego la función RFC se ejecuta independiente del programa llamador. Para esto se debe utilizar la palabra STARTING NEW TASK
CALL FUNCTION Remote Function STARTING NEW TASK taskname
DESTINATION...
EXPORTING...
No es posible hacer debug a una función RFC
 
 
 
Sobre el autor
Publicación académica de James Johan Cardona Quinchia, en su ámbito de estudios para la Carrera Consultor ABAP.
James Johan Cardona Quinchia
Profesión: Gerente de Proyectos - Colombia - Legajo: VB54F
✒️Autor de: 41 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
Certificación Académica de James Cardona