✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
LOS MÓDULOS 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. 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 RFC 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. El módulo de funciones RFC llamado no existe en el sistema de origen, pero si debe existir en el sistema destino.
Transacción SM59: nos permite en SAP realizar las configuraciones de las conexiones remotas RFC, se pueden crear, borrar o modificar conexiones R/3, conexiones internas, destinos lógicos, conexiones TCP/IP y conexiones con driver ABAP.
Si se produjera un error en la ejecución del un módulo de RFC entonces los mensajes de error serán devueltos por el sistema remoto y alojados en las siguientes variables del sistema:
SY-MSGID
SY-MSGTY
SY-MSGNO
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
Para crear un módulo de funciones RFC se crea en la transacción SE37 y completar los mismos parámetros que completamos para crear un módulo de funciones normal, a excepción de que se debe seleccionar en la solapa Atributos la opción Módulo de Acceso Remoto. Los parámetros que se crean en un módulo de funciones RFC no se pueden traspasar por referencia, sino que deben pasarse por valor. Esto se logra tildando el check Transportar valores para cada parámetro en las solapas IMPORT, EXPORT Y CHANGING.
LOS TIPOS DE MÓDULOS DE FUNCIONES
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 de módulo de funciones. Estos módulos de funciones RFC están basados en una comunicación sincrónica.
Transaccionales: en donde los sistemas de origen y 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 a los datos. Para crear un módulo de funciones RFC transaccional debemos utilizar el sufijo IN BACKGROUND TASK. El sistema deja un LOG con el pedido de la llamada remota en las tablas de bases de datos estándar de SAP ARFCSSTATE y ARFCSDATA con todos los valores de los parámetros pasados en la ejecución.
SAP ARFCSSTATE y ARFCSDATA son tablas base de datos estándar del sistema SAP que almacenan información relacionada a la llamada del módulo de funciones RFC transaccionales en el sistema.
Para visualizar los Log se utiliza la transacción SM58.
Cuando el programa que ejecuta el módulo de funciones RFC ejecuta la sentencia COMMIT WORK, entonces es cuando la llamada remota es enviada al sistema remoto para su ejecución.
Asincrónicos: es 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 Carvajal Encina Franco Erasmo, en su ámbito de estudios para la Carrera Consultor ABAP.
Carvajal Encina Franco Erasmo
Profesión: Ingeniero en Inform?tica - Chile - Legajo: SV83L
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Carvajal Franco