![](/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/208.jpg)
Modulo de funciones RFC (Remote Call Function)
Es un modulo de funciones que existe en un sistema SAP o no SAP y que es distinto al sistema donde el programa llama a este modulo, osea que existe en otro sistema distinto de donde estamos realizando la llamada.
El principal objetivo de estos modulos RFC es acceder a otros ambientes y obtener datos, la comunicacion puede darse entre sistemas SAP o uno no SAP.
Para llamar a un modulo RFC se usa la sentencia DESTINATION cuando declaramos un modulo con CALL FUNCTION.
Ej: Si llamamos a un modulo estando en el ambiente DCR, este tendra que estar creado en el ambiente DTR.
Creacion de un modulo de funciones RFC
Se crea de la misma forma que un modulo normal.
Se accede a la transaccion SE37 biblioteca de funciones y se completan los mismos datos que con un modulo normal, exceptuando que en Atributos se selecciona Modulo de acceso remoto en vez de modulo de funciones normal.
Los parametros deben pasarse por valor tildando Transportar valores para todos los parametros de IMPORT, EXPORT y CHANING.
Tambien un modulo RFC se puede utilizar como uno normal, hay dos formas de hacerlo:
- Utilizando CALL FUNCTION DESTINATION 'NONE'
- Utilizando la declaracion del modulo normal sin el agregado de DESTINATION
Tipos de modulos de funciones RFC
Sincronicos: ambos sistemas (origen y destino) deben estar disponibles al momento de la llamada, es el tipo mas utilizado.
Transaccionales: ambos sistemas no necesitan estar disponibles al momento de la llamada, un unico ID es generado y los programas llamados son almacenadis en sistema junto con los datos. Se utiliza el sufijo IN BACKGROUND TASK a la derecha de CALL FUNCTION.
En este tipo el sistema deja un log (los LOG se visualizan desde la transaccion SM58, nos permite ver el log de errores de los modulos RFC) con pedido de llamada remota en las tablas database estandar ARFCSSTATE y ARFCSDATA (tablas estandar que almacenan info relacionada con llamadas de modulos RFC transaccionales) con todos los valores de parametros pasados en ejecucion.
Cuando el programa ejecuta el modulo RFC se ejecuta el COMMIT WORK. Los modulos de funciones transaccionales se usan para ciertos casos especificos cuando las actualizaciones solo se realicen cuando el programa llamador ejecuta la sentencia COMMIT WORK.
Asincronicos: donde el programa llama al modulo RFC e inmediatamente termine su procesamiento. Se debe utilizar el sufijo STARTING NEW TASK
 
 
 
Sobre el autor
Publicación académica de Luciano Martinez, en su ámbito de estudios para la Carrera Consultor ABAP.
Luciano Martinez
Profesión: Consultor Abap - Argentina - Legajo: LR86R
✒️Autor de: 66 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Me capacito para desempeñar el rol de un consultor abap, además soy sql developer jr, como ambos lenguajes (sql y abap) se relacionan, hace que mi perfil sea más completo y se complemente.
Certificación Académica de Luciano Martinez