✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
1. MODULO DE FUNCION RFC
Una Remote Function Call RFC permite acceder a otros ambientes para obtener datos. Permite comunicación entre sistemas SAP o con otro sistema.
La RFC no existe en el sistema origen pero si debe existir en el sistema destino.
En el sistema remoto se crea la FN
FUNCTION ZLeerClientes.
...
ENDFUNCTION.
En el sistema origen se llama a la FN RFC
CALL FUNCTION ZLeerClientes
DESTINATION v_dcr
EXPORTING KUNNR = v_cliente
TABLES customer = T_CLIENTES
EXCEPTIONS NO_RECORD_FOUND = 01
2. COMO SE CREA UNA RFC
Una función RFC se crea igual que una función normal a traves de la trx SE37, pero con la excepción que en la solapa de Atributos se debe seleccionar la opción Modulo de acceso remoto
Los parámetros de una FN RFC no pueden pasarse por referencia deben pasarse por valor, para ello se debe marcar el check Transportar valores(Pass value) por cada parámetro en las solapas IMPORT, EXPORT y CHANGING, sino se producirá un error de sintaxis.
Las funciones RFC pueden ser utilizadas como funciones normales , de dos formas:
- Usando la declaración CALL FUNCTION DESTINATION 'NONE'
- Sin usar la clausula DESTINATION
3 TIPOS DE RFC
Existen 3 tipos de RFC
- Sincrónicas
- Transaccionales
- Asincrónicas
Sincrónicas, ambos sistemas tienen comunicación sincrónica , deben estar disponibles al momento de la llamada de la fn RFC
Transaccionales, los sistemas no necesitan estar disponibles al momento de llamar a la FN RFC, los programas llamados son almacenados en el sistema junto con los datos, se debe usar la cláusula IN BACKGROUND TASK
CALL FUNCTION 'RFC_FN'
IN BACKGROUND TASK
DESTINATION 'DEST'
EXPORTING ...
TABLES ...
El sistema deja un log con el pedido de la llamada remota en las tablas standar de SAP ARFCSSTATE Y ARFCSDATA
Para visualizar el log se utiliza la trx SM58
Cuando el programa que ejecuta el RFC ejecuta el COMMIT WORK es cuando la llamada remota es enviada al sistema remoto para su ejecución.
* Se utiliza el RFC Transaccional en casos donde la actualización no se requiera se realice en forma inmediata sino cuando el llamador ejecuta el COMMIT WORK
Asincrónicas, el programa llamador ejecuta la fn RFC y termina inmediatamente su procesamiento. La FN RFC se ejecuta independientemente. Se usa la cláusula STARTING NEW TASK
CALL FUNCTION remotefunction STARTING NEW TASK taskname
DESTINATION...
EXPORTING ...
TABLES ...
EXCEPTIONS ...
* No es posible debuguear una llamada de función RFC remota de otro sistema , pero si monitorear la ejecución cuando estamos entre dos sistemas SAP.
 
 
 
Sobre el autor
Publicación académica de Widen Boris Horacio Nogales, en su ámbito de estudios para la Carrera Consultor ABAP.
Widen Boris Horacio Nogales
Profesión: Ingeniero de Sistemas - Bolivia - Legajo: PQ81E
✒️Autor de: 26 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas con experiencia en implementación de sistemas erp, administración y soporte erps como sap bussines one, implementación soluciones bi , conocimientos de contabilidad .
Certificación Académica de Widen Horacio