✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
Lección 4.4:
MÓDULOS DE FUNCIÓN RFC
¿Qué es un módulo de función RFC?
Es una llamada a una función que existe en un sistema distinto al del programa que llama normalmente para obtener datos.
Para llamar a una función RFC se debe añadir la cláusula DESTINATION en el momento de declarar la función.
La función RFC llamada no existe en el sistema origen, pero si debe existir en el sistema destino.
Si se produce un error en la ejecución de una RFC, los mensajes de error son devueltos por el sistema remoto y alojados en las variables del sistema SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3 y SY-MSGV4.
¿Cómo crear una función RFC?
· Se crea de la misma manera que una función.
· Se accede a la transacción SE37 y se completan los mismos parámetros.
· Seleccionar en la solapa de Atributos la opción Módulo de acceso remoto (Remote Enabled Module).
Los parámetros de una función RFC no se pueden pasar por Referencia, se deben pasar por valor, para ello marcar el check Transportar valores (Pass value) para cada parámetro en las solapas IMPORT, EXPORT, y CHANGING.
· Las RFC se pueden utilizar como módulos de función Normales. Esto se logra de dos formas:
- 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 cláusula DESTINATION.
Tipos de RFC
- Sincrónicas: Ambos sistemas deben estar disponibles al momento de la llamada de la función. Estas son las que más utilizaremos.
- Transaccionales: Los sistemas no necesitan estar disponibles al momento de la llamada a la función. Un único ID de transacción es generado y los programas llamados son almacenados en el sistema junto con los datos. Se debe utilizar el sufijo IN BACKGROUND TASK.
El sistema deja un Log con el pedido de la llamada remota en las tablas estándar de sap ARFCSSTATE y ARFCSDATA. Para visualizar este Log: SM58à Transacción estándar del sistema SAP que nos permite visualizar el log de errores de las RFC transaccionales que se ejecutaron en el sistema.
NOTA: Cuando el programa que ejecuta la RFC realiza la sentencia COMMIT WORK, entonces es cuando la llamada remota es enviada al sistema remoto para su ejecución.
- Asincrónicas: el programa llamador, llama a la función RFC e inmediatamente después termina su procesamiento. Luego la función RFC se ejecuta independientemente del programa llamador. Se debe utilizar el sufijo STARTING NEW TASK
 
 
 
Agradecimiento:
Ha agradecido este aporte: Patricia Lopez Cuevas
Sobre el autor
Publicación académica de Elisa Munoz Robles, en su ámbito de estudios para la Carrera Consultor ABAP.
Elisa Munoz Robles
Profesión: Analista Orgánico - España - Legajo: CM72B
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Perfil: analista orgánico
Certificación Académica de Elisa Munoz