✒️ABAP / Los módulos de funciones RFC Por Gabriel Luces González
ABAP Los módulos de funciones RFC

¿Qué son los módulos de funciones RFC?
Un módulo de funciones RFC consiste en una llamada a una función que reside en un sistema distinto al que está ejecutando el programa principal. Su objetivo es permitir el intercambio de datos y procesos entre:
- Dos sistemas SAP diferentes.
- Un sistema SAP y un sistema no SAP.
Se crean de manera muy similar a un módulo normal en la transacción SE37, pero con dos diferencias técnicas fundamentales que son obligatorias:
- Tipo de Módulo: En la pestaña "Atributos", se debe seleccionar la opción "Módulo de acceso remoto".
- Paso de Parámetros: No se permite el paso por referencia. Todos los parámetros (Import, Export, Changing) deben pasarse por valor. Esto se configura marcando la casilla "Trasp. valores" (Pass value) en la definición de cada parámetro.
Para llamar a estos módulos, se utiliza la sentencia CALL FUNCTION ... DESTINATION.
- La cláusula DESTINATION: Es obligatoria para indicar a qué sistema nos queremos conectar.
- Transacción SM59: Los destinos lógicos (ej. "DTR_SYSTEM") se configuran en esta transacción. Actúa como una "puerta de enlace" que contiene la dirección IP, mandante y credenciales del sistema remoto.
- Ejecución Local: Un RFC puede comportarse como una función normal si se omite el DESTINATION o si se usa DESTINATION 'NONE'.
Existen tres formas principales de ejecutar una RFC, dependiendo de la sincronización requerida:
-
Sincrónicas (Synchronous): El sistema origen espera a que el sistema destino termine el proceso para continuar. Ambos sistemas deben estar disponibles al momento de la llamada. Es la forma estándar.
-
Transaccionales (Transactional - tRFC):
- Sintaxis: Se usa el sufijo IN BACKGROUND TASK.
- Funcionamiento: El sistema remoto no necesita estar activo en el momento exacto. La llamada se almacena y se ejecuta realmente cuando el programa principal llega a un COMMIT WORK.
- Monitoreo: El sistema guarda un log en las tablas ARFCSSTATE y ARFCSDATA. Si hay errores, se visualizan en la transacción SM58.
-
Asincrónicas (Asynchronous - aRFC):
- Sintaxis: Se usa el sufijo STARTING NEW TASK.
- Funcionamiento: El programa principal lanza la función y no espera el resultado; continúa inmediatamente con su propia ejecución ("fuego y olvido"). Se ejecuta en una sesión separada.
Si ocurre un error en el sistema remoto durante la ejecución, los mensajes de error vuelven al sistema origen y se alojan en las variables del sistema estándar: SY-MSGID, SY-MSGTY, SY-MSGNO y SY-MSGV1 a V4.
Analogía: Imagina que eres el gerente de una empresa (Tu programa en Sistema A):
- RFC Sincrónico: Llamas por teléfono a un proveedor en otra ciudad (Sistema B). Te quedas en la línea esperando hasta que te confirme el precio. Si no contesta, no puedes seguir.
- RFC Transaccional: Escribes una carta de pedido y la dejas en tu bandeja de salida. Solo cuando viene el cartero (el COMMIT WORK), la carta sale. Si el proveedor está cerrado, la carta queda en el buzón (la SM58) esperando ser entregada.
- RFC Asincrónico: Le gritas una orden a tu asistente y te vas corriendo a una reunión sin esperar a ver si te escuchó o si lo hizo. Tú sigues con tu vida inmediatamente.
 
 
 
Sobre el autor
Publicación académica de Gabriel José Luces González, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Gabriel José Luces González
Profesión: Consultor Sap Pm - Chile - Legajo: LA36W
✒️Autor de: 214 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor SAP FI Nivel Inicial
- Carrera Consultor SAP MM Nivel Inicial
Presentación:
Objetivo principal, adquirir todos los conococimiento relacionado al modulo de mm que me permita complementar mis conocimientos en el mundo sap
Certificación Académica de Gabriel Luces






Disponibilidad Laboral: FullTime


















