✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
Que es un módulo de función RFC
Es la llamada a una función que existe en un sistema distinto a del programa que lo llama. El objetivo principal es acceder a otros ambientes para obtener datos.
La comunicación puede darse entre un sistema un SAP u otro sistema distinto a SAP. Para llamar la funcion RFC se debe agregar la clausula DESTINATION al momento de declarar la funcion.
Nota.
La RFC llamada no existe en el sistema original pero si existe en el sistema destino.
La sentencia MESSAGE se utiliza para imprimir un mensaje en pantalla. Existiendo varias formas de ejecutarla, la que indicas es una de ellas en donde la varible del sistema.
SY-MSGID |
indica el nombre de la clase de mensajes que se utilizará, la variable. |
SY-MSGTY |
indica el tipo de mensaje que se imprimirá, la variable. |
SY-MSGNO |
indica el id del mensaje que se va a imprimir y las variables. |
SY-MSGV1, SY-MSGV2 y SY-MSGV3 |
indican el contenido que se imprimirá en pantalla. |
Nota.
Si se produjera un error en la ejecución del RFC, los mensajes de error son devueltos por el sistema remoto a y alojados en las variables SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2 y SY-MSGV3.
Como crear un RFC.
Se crea de la misma forma que se crea una funcion a través de la transaccion SE37. Completando los mismo parametros para la creacion de la funcion, luego en la pestaña atributos seleccionamos la opcion modulo de acceso remoto (RFC).
Nota.
Los parametros que se crean en una funcion RFC no se pueden pasar por REFERENCIA, deben pasarse por VALOR.
Esto se logra tildando el check transportar valores (PASS VALUE) para cada parametro en las pestañas IMPORT, EXPORT Y CHAGING.
La funcion RFC tambien se puede utilizar como modulos de funcion normales. De la siguiente 2 manera.
- Utilizando la declaracion CALL FUNCTION DESTINATION ‘NONE’
- Utilizar la funcion normal, sin agregarle la clausula DESTINATION.
Tipos de RFC.
Existen 3 tipos.
Sincronica. Ambos sistemas deben estar disponibles al momento de la llamada de la funcion, es una comunicacion sincronica.
Transaccionales. Los sistemas no necesitan estar disponibles al momento de llamar la funcion. Utiliza un unico ID de transaccion que es generado y los programas llamados son almacenados al sistema junto con los datos. se debe utilizar el sufijo IN BACKGROUND TASK.
en las RFC transaccionales el sistema deja un log con el contenido de la llamada remota en tablas estandar de SAP como son ARFCSSTATE y ARFCSDATA con todos los valores de los parametros pasados en la ejecucion.
Para visualizar un log utilizamos la transaccion SE58.
Cuando se ejecuta la RFC la sentencia COMMIT WORK, es cuando la llamada remota es enviada al sistema remoto para su ejecucion.
Nota.
La RFC se utiliza para ciertos casos especificos de actualizacion donde no se requiera que dichas actualizaciones se realicen de froma inmediatasino recien cuando el program llamado ejecuta un COMMIT WORK.
Asincronicas. El programa llamado, llama a la funcion RFC e inmediatamente despues termina su proceso. Luego la funcion RFC se ejecuta inmediatamente del programa llamado. Se debe utilizar el sufijo STARTING NEW TASK.
 
 
 
Sobre el autor
Publicación académica de Sergio Andres Lopez Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Sergio Andres Lopez Ramirez
Profesión: Ingeniero de Sistemas - Colombia - Legajo: DR57C
✒️Autor de: 19 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Sergio Lopez