✒️ABAP Los módulos de funciones RFC
ABAP Los módulos de funciones RFC
Unidad n°4: Las subrutinas, los módulos de funciones y el procesamiento batch
Lección n°4: Los módulos de funciones RFC
Los mód. de fun. RFC:
Consiste en una llamada a un mód. de fun. existente en un sist. SAP o no SAP, distinto al sist. del programa en donde se hace la llamada del mód. de fun. Es decir, en un programa ABAP llamamos a un mód. de fun. que no existe en el sist. donde nos encontramos sino que existe en otro sist. SAP o no SAP con el que nos comunicamos.
Su objetivo es acceder a otros ambientes del sist. para obtener datos.
La comunicación puede darse entre sist. SAP o entre un sist. SAP a otro que no sea SAP.
Podemos llamar a un mód. de fun. RFC agregando la cláusula DESTINATION al momento de declarar el mód. de fun:
El mód. de fun RFC llamado no existe en el sist. origen, pero si debe existir en el sist. destino.
Ejemplos de cuando usar un mód. de fun RFC:
Cuando necesitamos leer un registro de datos de un cliente del sist. o ambiente DTR, por el programa ABAP existente en el ambiente DCR, debemos crea un mód. de fun RFC en el ambiente DTR que devuelva los registros de los clientes.
Luego llamaríamos a este mód. de fun en el ambiente DCR, usando un destino que previamente creamos por la trans. SM59:
En el ambiente DTR creamos el mód. de fun RFC:
FUNCTION ZOBTENER_CLIENTES
"Leemos el registro del cliente.
ENDFUNCTION.
En el ambiente DCR llamamos al mód. de fun. RFC:
CALL FUNCTION 'ZOBTENER_CLIENTES'
DESTINATION | V_DCR |
EXPORTING | KUNNR = V_CLIENTE |
TABLES | CUSTOMER = TI_CLIENTES |
EXCEPTIONS | NO_RECORD_FOUND = 01 |
Si se produce un error en la ejecución, los mensajes de error se devuelven por el sist. remoto y se alojan en las variables: SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, SY-MSGV2, SY-MSGV3 y SY-MSGV4.
¿Cómo crear un mód. de fun. RFC?
Se crea como los mód. de fun. normales.
1. Acceder a la trans SE37.
2. Completar los parám. que completamos para crear un mód. de fun. exceptuando de que se debe seleccionar en la solapa Atributos la opción Módulo de acceso remoto.
3. Los parám. creados en un mód. de fun. RFC no se pueden pasar por referencia, si no que se deben pasar por valor. Eso lo haremos tildando el check Transportar valores para cada parám. en las solapas IMPORT, EXPORT y CHANGING
**Los mód. de fun. creados como RFC, pueden ser usados como mód. de fun. normales, esto se hace de la sig. forma:
- Declaración CALL FUNCTION DESTINATION 'NONE':
- Usando la declaración de un mód. de fun. normal, sin agregar la cláusula DESTINATION:
Tipos de mód. de fun. RFC:
Hay tres tipos.
- Sincrónicos: en donde ambos sist., el sist. de origen y el de destino deben estar disponibles al momento de la llamada del mód. de fun. Estos mód. de fun. RFC se basan en una comunicación sincrónica.
Este tipo se usa generalmente para la mayoría de desarrollos. - Transaccionales: los sist. de origen y de destino no necesitan estar disponibles al momento de la llamada al mód. de fun. Un único ID de trans. es generado y los programas llamados son almacenados en el sist junto con los datos.
Para crearlo usaremos el sufijo IN BACKGROUND TASK:
En estos mód. de fun. el sistema deja un log con el pedido de la llamada remota en las tbd estándar ARFCSSTATE y ARFCSDATA con todos los valores de los parám. pasados en la ejecución.
*Tabla ARFCSSTATE y ARFCSDATA: tbd estándar que almacenan info relacionada a la llamada de mód. de fun. RFC transaccionales en el sist.
Para ver el log, usaremos la trans. SM58 (permite ver el log de errores de los mód. de fun. RFC trans. que se ejecutaron en el sist.)
Cuando el programa que ejecuta el mód. de fun. RFC ejecuta la sentencia COMMIT WORK, es cuando la llamada remota es enviada al sist. remoto para su ejecución
Este mód. de fun. se usa para casos específicos de actualizaciones donde no se requiere que dichas actualizaciones se hagan inmediatamente, sino recién cuando el programa llamador ejecuta COMMIT WORK. - Asincrónicos: el programa llamador llama al mód. de fun. RFC e inmediatamente después termina su procesamiento. Luego el mód. de fun. RFC se ejecuta independientemente del programa llamador.
Para crearlos, se usa el sufijo STARTING NEW TASK:
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada