✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
Modulo de funcion RFC:
Consiste en una llamada a una funcion que existe en un sistema distinto al del programa que la llama.
El objetivo principal de las RFC es acceder a Otros ambientes para obtener datos.
La comunicaclön puede darse entre sistemas SAP o entre un sistema SAP y Otro sistema que no sea SAP
Para llamar a una funcion RFC se debe agregar la clousula DESTINATION al momento de declarar la funcion.
Creacion de una funcion RFC.
Una funciön RFC se crea de la misma manera que se crea una funcion. Se accede a la transaccion SE37 y se completan los mismos parämetros que completamos para crear una funciön a excepciön de que se debe seleccionar en la solapa de Atributos la opcion Modulo de acceso remoto (Remote Enabled Module).
Los parametros que se crean en una funciön RFC no se pueden pasar por Referencia, deben pasarse
valor. Esto se logra tildando el check Transportar valores (Pass value) para cada parametro en las solapas
IMPORT, EXPORT y CHANGING.
A su vez las funaones creadas como RFC, pueden ser utilizadas como modulos de funcion Normales. Esto se logra de dos maneras diferentes:
- Utilizando la declaracion CALL FUNCTION DESTINATION 'NONE'
- Utilizando la declaraciön de un modulo de funclön normal, sin el agregado de la cläusula DESTINATION
Tipos de RFC
Existen tres tipos de RFC:
- Sincronicas: ambos sistemas deben estar disponibles al momento de la llamada de la funciön. Estas RFC estan basadas en una comumcacon sincorna.
- Transaccionales: los sistemas no necesitan estar disponibles al momento de la llamada a la funcion. Un unico ID de transaccion es generado y los programas llamados son almacenados en el sistema junto con los datos. Para crear una RFC transaccional debo utilizar el sufljo IN BACKGROUND TASK.
- En las RFC transaccionales, el sistema deja un log con el pedido de la llamada remota en las tablas estandar de SAPARFCSSTATE y ARFCSDATA con todos los valores de los parämetros pasados en la ejecucion. Para acceder a estas ejecutamos la TRX 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 ejecucion.
- Utilizaremos el tipo de RFC transaccional para ciertos casos especificos de actualizaciones donde no se requiera que dichas actualizaciones se realicen en forma inmediata sino recién cuando el programa llamador ejecuta un COMMIT WORK.
- Asincronicas: el programa llamador, llama a la funcion RFC y inmediatamente después termina su procesamiento. Luego la funcion RFC se ejecuta independientemente del programa llamador. Para crear una RFC asincronica debo utilizar el sufijo STARTING NEW TASK.
 
 
 
Sobre el autor
Publicación académica de Juan Forneron, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Forneron
Profesión: Ingeniero de Sistemas - Paraguay - Legajo: NW73U
✒️Autor de: 16 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Presentación:
Ingeniero de sistemas especialista en desarrollo web egresado de la universidad nacional del este con meritos, actualmente especializándome en programación abap y sap en gral.
Certificación Académica de Juan Forneron