✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
1) RFC
Consiste en una llamada a una función que existe en un sistema distinto al del programa que la llama
El objetivo es acceder a otros ambientes para obtener datos.La comunicación puede darte entre sistemas SAP o entre un sistema SAP y otro que no sea SAP.
Para llamar a un función RFC se debe agregar la clausula DESTINATION
Ejemplo:
Sistema DTR (Llamo la RFC)
CALL FUNCTION ZOBTNER_CLIENTES
DESTINATION V_DCR
EXPORTING KUNNR=V_Cliente
TABLES CUSTOMER=TCLIENTES.
En el sistema DCR ( Donde se encuentra la función)
FUNCTION ZOBTENER_CLIENTES
.....
.....
ENDFUNCTION.
En la transacción SM59 se crean los destinos RFC.
Los mensajes de error se regresan en las variables del sistema SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3, SY-MSG4.
2) Como crear una RFC
Se crea igual que cualquier función en la transacción SE37, pero en la pestaña de Atributos se selecciona la opción "Modulo de acceso remoto"
Los parámetros que se pasen a un función RFC se debe de pasar por valor.Para esto se debe marcar el check Transportar Valores en las pestañas de IMPORT, EXPORT y CHANGING
A veces las funciones RFC se pueden llamar como funciones normales y se pueden llamar así:
- Con la declaración CALL FUNCTION DESTINATION 'NONE'
- Con la declaración sin la palabra DESTINATION.
3) Tipos de RFC
- SINCRONICAS. Ambos sistemas deben estar disponibles al momento de la llamada de la función.Generalmente son las que usan para la mayoría de los desarrollos.
- TRANSACCIONALES. Los sistemas no necesitan estar disponibles al momento de la llamada de la función Para crear este tipo de RFC se debe colocar el sufijo IN BACKGROUND TASK.
CALL FUNCTION 'RFC_FUCTION_N'
IN BACKGROUND TASK
DESTINATION 'DEST'
EXPORTING
TABLES
Estas RFC dejan un log en el sistema con el pedido de la llamada remota en las tablas ARFCSSTATE, ARFCSDATA. El log se accesa por la transacción SM58.
Cuando el programa que ejecuta la RFC , ejecuta el COMMIT WORK entonces es cuando la llamada remota es enviada al sistema remoto
- ASINCRONICAS. El programa llamador llama la función RFC, e inmediatamente termina su ejecución, entonces la función RFC se ejecuta independientemente del programa llamador. Para crear este tipo de RFC se debe utilizar el sufijo STARTING NEW TASK
CALL FUNCTION remotefucntion STARTING NEW TASK taskname
DESTINATION DEST
EXPORTING ..........
 
 
 
Sobre el autor
Publicación académica de Maria Guadalupe Gonzalez Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Maria Guadalupe Gonzalez Sanchez
Mexico - Legajo: LB83R
✒️Autor de: 147 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP BI / BW BO Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial