✒️ABAP / Los módulos de funciones RFC Por Mauricio Yedro
ABAP Los módulos de funciones RFC

Módulo de funciones RFC
Consiste en una llamada a un módulo de funciones que existe en un sistema SAP o no SAP, distinto al sistema del programa en donde se realiza la llamada del módulo de funciones.
Es decir, en un programa ABAP llamamos a un módulo de funciones que no existe en el sistema donde nos encontramos, sino que existe en otro sistema SAP o no SAP con el que nos comunicamos.
El objetivo principal de los módulos de funciones FRC es acceder a otros ambientes del sistema para obtener datos.
Para llamar a un módulo de funciones RFC se debe agregar la cláusula DESTINATION al momento de declarar el módulo de funciones tal como vemos en el siguiente ejemplo.
CLEAR v_destino.
“Armado del Destination
IF sy-sysid(3) EQ ‘LDO’. “Desarrollo
V_destino = ‘BD3ARG110’.
ELSEIF sy-sysid(3) EQ ‘LKO’. “Testing
V_destino = ‘BD3ARG110’.
ELSEIF sy-sysid(3) EQ ‘LPO’. “Produccion
V_destino = ‘BD3ARG110’.
ENDIF.
CALL FUNCTION ‘Z_OV_RFC_ESTADO_DEUDA’
DESTINATION v_destino
EXPORTING
I_vkont = v_vkont
O_fecha_int = sy-datum
TABLES
T_account = ti_account
T_det_xblnr = ti_det_xblnr.
NOTA: El módulo de funciones RFC llamado no existe en el sistema origen, pero si debe existir en el sistema destino.
Tipos de módulos de funciones RFC
• Sincrónicos: en donde ambos sistemas, es decir el sistema de origen y el sistema de destino, deben estar disponibles al momento de la llamada al módulo de funciones. Estos módulos de funciones RFC están basados en una comunicación sincrónica.
‘Generalmente utilizaremos el tipo de módulos de funciones RFC sincrónico para la mayoría de nuestros desarrollos ABAP’
• Transaccionales: en donde los sistemas de origen y de destino no necesitan estar disponibles al momento de la llamada al módulo de funciones. Un único ID de transacción es generado y los programas llamados son almacenados en el sistema junto con los datos.
Para crear un módulo de funciones RFC transaccional debemos utilizar el sufijo IN BACKGROUND TASK.
En estos módulos de funciones transaccionales, el sistema deja un log con el pedido de la llamada remota en las tablas bases de datos estándar de SAP ARFCSSTATE y ARFCSDATA con todos los valores de los parámetros pasados en la ejecución.
Transacción SM58: es estándar del sistema y nos permite visualizar el log de errores de los módulos RFC transaccionales que se ejecutan en el sistema.
• Asincrónicos: en donde el programa llamador, llama al módulo de funciones RFC e inmediatamente después termina su procesamiento. Luego el módulo de funciones RFC se ejecuta independientemente del programa llamador.
Para crear un módulo de funciones RFC asincrónico debemos utilizar el sufijo STARTING NEW TASK.
 
 
 
Sobre el autor
Publicación académica de Mauricio Ezequiel Yedro, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Mauricio Ezequiel Yedro
Profesión: Programador - Argentina - Legajo: FU93M
✒️Autor de: 20 Publicaciones Académicas
🎓Cursando Actualmente: Master ABAP Orientado a Objetos
🎓Egresado de los módulos:
Certificación Académica de Mauricio Yedro






Disponibilidad Laboral: FullTime


















