✒️ABAP / Los módulos de funciones RFC Por Jaime Gomez Arango

Selector Alummnos / Empresas

ABAP Los módulos de funciones RFC

ABAP Los módulos de funciones RFC

RFC – Remote Function Call

A Remote Function Call (RFC) involves invoking a function that exists in a system different from the one running the calling program. The primary goal of RFC is to access other environments to retrieve data. Communication between different systems in the SAP environment includes connections between SAP systems as well as between SAP and non-SAP systems. When declaring an RFC function, it's essential to include the "DESTINATION" clause, utilized in RFC function module declarations to specify an RFC destination.

Example of when to use an RFC function module:

Reading a customer data record from the DTR(Design Time Repository) system by an existing ABAP program in the DCR environment requires creating an RFC function module in the DTR environment that returns customer records.

* Function created in DTR env
FUNCTION ZGET_CUSTOMERS.
"Read the customer record.
ENDFUNCTION.

In the DCR environment, call the RFC function module:

* Calling the function in the other System
CALL FUNCTION 'ZGET_CUSTOMERS'
DESTINATION V_DCR
EXPORTING KUNNR = V_CLIENT
TABLES CUSTOMER = TI_CUSTOMERS
EXCEPTIONS NO_RECORD_FOUND = 01.

In case of an error during RFC execution, error messages are returned by the remote system and stored in the variables SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1 (V2) (V3) (V4).

Creating an RFC Function Module

Creating an RFC function module follows the same process as regular function modules.

  • Access transaction SE37.
  • Fill in the parameters required for creating a function module, but select the "Remote-enabled module" option in the Attributes tab.
  • Parameters in an RFC function module cannot be passed by reference; they must be passed by value. Enable the "Transport values" checkbox for each parameter in the IMPORT, EXPORT, and CHANGING tabs.

RFC-enabled functions can be used as regular function modules in two ways:

  • Using the declaration CALL FUNCTION DESTINATION 'NONE'
  • Using the declaration of a normal function module without adding the DESTINATION clause.

Types of RFC Function Modules

There are three types:

  • Synchronous: Both systems must be available at the time of the function call (synchronous communication).
  • Transactional: Systems don't need to be available at the time of the function call. To create them, use the suffix "IN BACKGROUND TASK" in the declaration. Note: The system logs the remote call request in the SAP standard tables ARFCSSTATE and ARFCSDATA with all parameter values. To view this log, use transaction SM58. The RFC execution triggers the COMMIT WORK statement.
  • Asynchronous: The calling program invokes the RFC function and immediately finishes its processing. To create them, use the suffix "STARTING NEW TASK" in the declaration.

E.g

DATA: ti_account TYPE STANDARD TABLE OF zsuaccountw_ov,
ti_det_xblnr TYPE STANDARD TABLE OF zsudetxblnr,
v_vkont LIKE fkkvkp-vkont,
v_destino(9) TYPE c,
v_taskname(9) TYPE c.

*---------------------------------------------------------------------*
START-OF-SELECTION.
*---------------------------------------------------------------------*

CLEAR v_destino.

* Select the destination - Depends on the client
IF sy-sysid(3) EQ 'LD0'. " DEV
v_destino = 'BD3ARG110'.
ELSEIF sy-sysid(3) EQ 'LK0'. " QA
v_destino = 'BK3ARG311'.
ELSEIF sy-sysid(3) EQ 'LP0'. " Prod
v_destino = 'BP3ARG311'.
ENDIF.

* Synchronous RFC example
CALL FUNCTION 'Z_OV_RFC_ESTADO_DEUDA'
DESTINATION v_destino
EXPORTING
i_vkont = v_vkont
i_fecha_int = sy-datum
TABLES
t_account = ti_account
t_det_xblnr = ti_det_xblnr.

* RFC being used as regular function modules
CALL FUNCTION 'Z_OV_RFC_ESTADO_DEUDA'
DESTINATION 'NONE'
EXPORTING
i_vkont = v_vkont
i_fecha_int = sy-datum
TABLES
t_account = ti_account
t_det_xblnr = ti_det_xblnr.


* Transactional RFC example
CALL FUNCTION 'Z_OV_RFC_ESTADO_DEUDA' IN BACKGROUND TASK
DESTINATION v_destino
EXPORTING
i_vkont = v_vkont
i_fecha_int = sy-datum
TABLES
t_account = ti_account
t_det_xblnr = ti_det_xblnr.

* Asynchronous RFC example
CALL FUNCTION 'Z_OV_RFC_ESTADO_DEUDA' STARTING NEW TASK v_taskname
DESTINATION v_destino
EXPORTING
i_vkont = v_vkont
i_fecha_int = sy-datum
TABLES
t_account = ti_account
t_det_xblnr = ti_det_xblnr.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los módulos de funciones RFC" de la mano de nuestros alumnos.

SAP Expert


¿Qué son los módulos de funciones RFC? Un módulo de funciones RFC consiste en una llamada a una función que reside en un sistema distinto al que está ejecutando el programa principal. Su objetivo es permitir el intercambio de datos y procesos entre: Dos sistemas SAP diferentes. Un sistema SAP y un sistema no SAP. Creación y Configuración (SE37) Se crean de manera muy similar a un módulo normal en la transacción SE37, pero con dos diferencias técnicas fundamentales que son obligatorias: Tipo de Módulo: En la pestaña "Atributos", se debe seleccionar la opción "Módulo de acceso remoto". Paso de Parámetros:...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Los módulos de funciones RFC. Concepto y objetivo de los módulos de funciones RFC Un módulo de funciones RFC permite llamar a un módulo de funciones que se encuentra en otro sistema SAP o incluso en un sistema no SAP distinto al sistema actual. Se utilizan en situaciones donde se necesita acceder a datos o funciones en ambientes remotos. Es posible la comunicación entre dos sistemas SAP o entre SAP y sistemas externos. Para realizar la llamada a un módulo RFC se debe especificar la cláusula destination en la declaración del módulo de funciones. El módulo existe en el sistema destino, no en el sistema origen desde donde se hace la llamada. Ejemplo:...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Concepto: RFC (Remote Function Call) es un mecanismo que permite ejecutar un módulo de funciones en otro sistema SAP o servidor remoto. Se utiliza para integrar distintos sistemas y compartir lógica sin duplicar código. Funciona a través de un RFC Destination configurado en la transacción SM59. Tipos de RFC: 1. Síncrono (RFC normal): el programa espera la respuesta antes de continuar. Se utiliza la sintaxis CALL FUNCTION ‘Z_FUNC’ DESTINATION ‘SAP_QAS’. 2. Asíncrono (aRFC): no espera respuesta inmediata, útil para procesos independientes. 3. Transaccional (tRFC): garantiza ejecución exactamente una vez aunque haya fallos de red. 4. En segundo plano (bgRFC):...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

1 | ¿Qué es un módulo de funciones RFC? Los módulo 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. Es decir 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_ La comunicación puede darse entre sistemas SAP o entre un sistema SAP y otro sistema que no sea SAP Para llamar a un módulo de funciones...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Los módulos RFC (Remote Function Call) permiten ejecutar funciones en sistemas remotos (SAP o no SAP) desde un programa ABAP. ¡Esencial para integraciones, acceso a datos distribuidos y sincronización entre entornos! Fundamentos RFC Definición: Llamada a funciones en sistemas externos mediante CALL FUNCTION ... DESTINATION. Comunicación: SAP → SAP (ej: Ambientes DTR → DCR). SAP → No SAP (ej: Java, .NET). Elementos clave: Destino RFC: Configurado en SM59 (conexión técnica...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Los módulos de funciones RFC 1 Qué es un módulo de funciones RFC Un módulo de funciones RFC (Remote Function Call) en ABAP es un tipo especial de módulo de funciones diseñado para permitir la comunicación entre diferentes sistemas SAP o entre un sistema SAP y un sistema externo (no SAP). La característica principal de estos módulos es que se ejecutan en un sistema diferente del que realiza la llamada. Este tipo de funciones se utiliza para obtener datos o ejecutar procesos en otro sistema, facilitando la integración entre ambientes distintos. Para hacer la llamada, se usa la cláusula DESTINATION que especifica a qué sistema se debe conectar el módulo....

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



RFC es una tecnología que permite ejecutar un módulo de función en un sistema SAP remoto o incluso en un sistema externo (como Java, .NET, Python, etc.) como si se estuviera ejecutando localmente. Esto se logra gracias a una interfaz estandarizada que transporta parámetros de entrada y salida entre ambos sistemas. El sistema origen realiza una "llamada" al módulo RFC en el sistema destino, que procesa la solicitud y devuelve los resultados. Características de un módulo de función RFC Un módulo de función puede marcarse como RFC-enabled desde su definición en el entorno ABAP (SE37 o SE80). Para ello debe cumplir ciertos requisitos: Tener una...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Los módulos de funciones RFC 1. ¿Qué es un módulo 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. Es decir, en un programa llamamos a un módulo de funciones que no existen 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. La comunicación puede darse entre sistemas SAP o entre un sistema SAP y otro que no sea SAP Para llamar a un módulo de funciones RFC se debe...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Módulo 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. Es decir, 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 FRC 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 tal como vemos en el siguiente ejemplo. ...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

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...

Acceder a esta publicación

Creado y Compartido por: Carvajal Encina Franco Erasmo / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!