✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
Modulo de funciones RFC
Consiste en una llamada a una unción que existe en un sistema distinto al del programa que la llama. Su objetivo es acceder a otros ambientes para obtener datos. La comunicación puede ser entre sistemas SAP o entre un sistema SAP y otro sistema.
Para llamar a una función RFC se debe agregar la cláusula DESTINATION (para especificar el destino) al momento de declarar la función.
La RFC llamada no existe en el sistema origen pero si debe existir en el sistema destino.
Como crear una función RFC (SE37)
Se crea de la misma manera que una función normal con la excepción de que en la pestaña Atributos seleccionamos la opción Módulo de acceso remoto.
Los parámetros que se crean en una función RFC no se pueden pasar por referencia, deben pasarse por valor. Esto se obtiene tildando el check Transportar valores para cada parámetro en la pestañas IMPORT, EXPORT Y CHANGING.
Las funciones RFC se pueden utilizar como funciones normales, utilizando la declaración CALL FUNCTION DESTINATION 'NONE' or utilizando la declaración de un módulo normal sin añadir la clausula DESTINATION.
Tipos RFC
- Sincrónicas - ambos sistemas deben estar disponibles al momento de la llamada de la función. Este es el tipo más utilizado.
- Transaccionales - para crear una función de este tipo se utiliza el sufijo IN BACKGROUND TASK. Los sistemas no tiene que estar disponibles al momento de la llamada a la función. Un único ID de transacción es generado y los programas son almacenados en el sistema junto con los datos.
En este tipo, el sistema deja un log con el pedido de la llamada remota en las tablas estándar de SAP ARFCSSTATE y ARFCSDATA (tablas que almacenan información relacionada con la llamada RFC transaccionales en el sistema) con todos los parámetros pasados en la ejecución. Para visualizar el log SM58.
Cuando el programa que ejecuta la RFC ejecuta la sentencia COMMIT WORK, entonces es cuando la llamada remota es enviada al sistema remoto para su ejecución.
- Asincrónicas - para crear una función de este tipo se utiliza el sufijo STARTING NEW TASK. El programa llamador llama a la RFC y inmediatamente después termina su procesamiento. Luego la función RFC se ejecuta independientemente del programa llamador.
No es posible debuggar una llamada a una función remota de otro sistema. Cuando probamos una llamada a una RFC desde un sistema SAP a otro sistema SAP, podemos utilizar /h para monitorear la ejecución de la función RFC en el sistema remote. Con las llamadas remotas el debugger ABAP se ejecuta en el sistema local, los valores de los datos y otra información de ejecución de la función remota son pasadas al sistema remoto.
 
 
 
Sobre el autor
Publicación académica de Ana Schiau, en su ámbito de estudios para la Carrera Consultor ABAP.
Ana Schiau
España - Legajo: TK43H
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Trabajo como key user sd en un multinacional y quiero aprender a programar en abap.
Certificación Académica de Ana Schiau