Módulos de función RFC de SAP
Introducción
El módulo de función RFC certificado /DABEXP/RFC_SAPCONNECTOR es necesario para conectar un SAP System con las soluciones de extracción SAP de dab. La dab solución de extracción SAP Add-On se instala entonces en el SAP System.
También se requiere una cuenta de usuario SAP, a la que debe asignarse un perfil de autorizaciones correspondiente. En los siguientes capítulos se describe la instalación del módulo de función y la estructura del perfil de autorizaciones necesario.
Para la instalación inicial del módulo RFC en su SAP, debe utilizar el archivo AOI-SAR.
Si desea actualizar un módulo RFC existente, debe emplear el archivo AOU-SAR.
Requisitos
Soluciones compatibles
La dab solución de extracción SAP puede utilizarse con las siguientes Soluciones SAP:
- SAP NetWeaver - 7.50 (SAP_BASIS 750) o superior
- SAP ERP - 6.0 (ECC 6.0)
- SAP CRM - 7.0
- SAP SRM - 7.0
- SAP SCM - 7.0
- SAP EWM - 7.0
- Esta lista no es exclusiva, otras soluciones basadas en SAP NetWeaver con ABAP-Stack y conectividad RFC también son compatibles
- SAP S/4HANA - 1610 o superior
- SAP S/4HANA Cloud, Extended Edition - todas las versiones
- SAP Cloud ERP Private o SAP S/4HANA Cloud, Private Edition - todas las versiones
- RISE with SAP Ready: Nuestra Add-On SAP está oficialmente soportada y certificada para uso en entornos RISE with SAP (Private Cloud Edition)
SAP Cloud ERP o SAP S4/HANA Cloud, Public Edition no permite la importación de Add-Ons, por lo tanto es incompatible.
Transacciones necesarias
Para instalar el Add-On, usted o su SAP Basis deben tener acceso a las siguientes transacciones (versión 0053 o superior):
- SAINT - herramienta de instalación de Add-On de SAP
- SPAM - Support Package Manager
Instalación y actualización
Instalación
Para la instalación en SAP Basis 740 o superior se requiere la versión 1.61 o superior.
Puede descargarla en el Customer Portal.
Para la instalación en SAP Basis 731 o inferior, se requiere el archivo dabexp-sapconn-aoi-140.sar.
Puede descargarlo aquí.
Se requieren autorizaciones especiales para ello. Para configurar el Add-On se utiliza la transacción SAINT.
Tras acceder a la transacción SAINT, puede instalar el archivo SAR del paquete de instalación (AOI) mediante el menú.
En la barra de menú, haga clic en Paquete de instalación > Cargar paquetes > Desde el frontend y seleccione el archivo SAR.

Si el paquete DABEXP no se muestra, debe desactivar los filtros:

Si aparece un mensaje referente a solicitudes abiertas de extracción de datos, puede omitirlo, ya que Add-On no modifica ninguna estructura de datos en el sistema SAP.
Si aparece un mensaje indicando que el paquete no está firmado, esto puede ser ignorado. Solo los paquetes de SAP están firmados; los Add-Ons de terceros no reciben firma.

Actualización
Si el Add-On ya está instalado en su SAP System, puede actualizar el Add-On a una nueva versión utilizando el paquete de actualización (AOU). El procedimiento de actualización es el mismo que el de la instalación.
Para actualizar en sistemas SAP con Basis 740 o superior se requiere el archivo dabexp-sapconn-aou-161.sar.
Puede descargar el archivo en el Customer Portal.
Para actualizar sistemas SAP con Basis 731 o inferior se requiere el archivo dabexp-sapconn-aou-140.sar.
Puede descargar el archivo aquí.
Autorizaciones
Las soluciones de extracción SAP dab se basan en los mecanismos de seguridad y el concepto de autorización del SAP System. Además, el acceso a las tablas es siempre de solo lectura. Para conectar la dab solución de extracción SAP al SAP System, es necesario un usuario al que se le asigne un rol de autorización con los siguientes objetos autorizativos.
El usuario SAP requerido para la conexión puede ser de uno de los siguientes tipos:
- Diálogo
- Sistema
- Comunicación
- Servicio
Para crear o modificar un usuario correspondiente, necesita autorización para las siguientes transacciones:
- PFCG: mantener o crear roles de autorización
- SU01: mantener o crear usuarios
Autorizaciones para ejecutar el módulo RFC
Aquí puede elegir entre dos opciones: autorización a nivel de grupo de funciones o a nivel de módulo de función.
Se utiliza el objeto de autorización S_RFC: se encuentra bajo la clase de autorización AAAB - objetos de autorización cross-aplicación > Objeto de autorización S_RFC - comprobación de autorización para el acceso RFC.
Autorización a nivel de grupo de funciones
La primera opción consiste en autorizar los grupos de funciones correspondientes mediante el RFC_TYPE en FUGR (grupo de funciones).
Consulte la siguiente tabla para los campos y valores correspondientes para el objeto de autorización S_RFC.
| Campo | Valor |
|---|---|
| ACTVT (Actividad) | 16 (ejecutar) |
| RFC_NAME (Nombre del objeto RFC a proteger) | /SDF/RI_CRM CMON RFC1 SYST /DABEXP/DAB_FUGR |
| RFC_TYPE (Tipo de objeto RFC a proteger) | FUGR (grupo de funciones) |
Autorización a nivel de módulo de función
Como alternativa, desde SAP NW 7.0 EHP 2 (SAP_BASIS 702) el RFC_TYPE puede configurarse en FUNC (módulo de función).
Consulte la siguiente tabla para los campos y valores correspondientes para el objeto de autorización S_RFC.
| Campo | Valor |
|---|---|
| ACTVT (Actividad) | 16 (ejecutar) |
| RFC_NAME (Nombre del objeto RFC a proteger) | /SDF/CMO_GET_INSTNO CMO_GET_INSTNO DDIF_FIELDINFO_GET RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB RFCPING /DABEXP/RFC_SAPCONNECTOR |
| RFC_TYPE (Tipo de objeto RFC a proteger) | FUNC (grupo de funciones) |
Otros módulos de función requeridos
Además del módulo de función /DABEXP/RFC_SAPCONNECTOR, se requieren otros módulos para un funcionamiento sin problemas.
La siguiente tabla enumera el grupo de funciones, los respectivos módulos y su uso previsto:
| Grupo de funciones | Módulo de función | Propósito |
|---|---|---|
| /SDF/RI_CRM | /SDF/CMO_GET_INSTNO | Consulta del número de instalación bajo S4/HANA |
| CMON | CMO_GET_INSTNO | Consulta del número de instalación |
| RFC1 | RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB | Verifica la estructura y la existencia de módulos RFC |
| SYST | RFCPING | Prueba de la conectividad RFC |
| /DABEXP/DAB_FUGR | /DABEXP/RFC_SAPCONNECTOR | Consulta del contenido de las tablas |
Autorizaciones a nivel de tabla
Las tablas solo pueden autorizarse completamente o no autorizarse en absoluto. No es posible restringir las autorizaciones al contenido de la tabla, como, por ejemplo, sociedades.
Usted puede utilizar estos objetos de autorización para conceder permisos de acceso al contenido de las tablas que se van a exportar. La comprobación se realiza con el módulo de función VIEW_AUTHORITY_CHECK.
Existen dos formas distintas de autorizar las tablas oportunamente: mediante Grupo de Autorización o mediante Nombre de Tabla.
Si la autorización de la tabla se realiza utilizando ambos objetos de autorización, la comprobación de autorización se realiza primero con S_TABU_DIS (grupo de autorización de tabla). Si esta comprobación falla, la autorización se verifica con S_TABU_NAM (nombre de la tabla).
Si va a autorizar a nivel de tabla, por favor asegúrese de que también se autoricen las siguientes tablas.
| Tabla | Grupo de autorización | Propósito |
|---|---|---|
| T000 | SS | Clients - tabla estándar para la prueba de conectividad |
| T001 | FC01 | Sociedades - tabla de respaldo para la prueba de conectividad |
| DD02L | Diccionario de datos ABAP - tablas disponibles en el sistema | |
| DD02T | Diccionario de datos ABAP - textos descriptivos para tablas | |
| DD02V | Diccionario de datos ABAP - búsqueda de tablas en dab Nexus Package Studio | |
| DD03L | Diccionario de datos ABAP - campos disponibles en el sistema | |
| DD03T | Diccionario de datos ABAP - textos de descripción disponibles para los campos |
Autorización mediante grupos de autorización de tabla
Clase de autorización BC_A Basis - Administración→ Objeto de autorización S_TABU_DIS
Esto se utiliza para definir a nivel de Grupo de autorización de tabla a qué tabla puede accederse y cómo. Los grupos de autorización se ingresan en el parámetro DICBERCLS y el tipo de acceso se define mediante ACTVT. La asignación de una tabla a un grupo de autorización, o viceversa, puede consultarse en la tabla TDDAT.
| Campo | Valor |
|---|---|
| ACTVT (Actividad) | 03 (Visualizar) |
| DICBERCLS (Grupo de autorización) | * |
Autorización por nombres de tabla
Clase de autorización BC_A Basis - Administración > Objeto de autorización S_TABU_NAM
Esto se emplea para especificar, a nivel de Nombre de tabla, a qué tabla puede accederse y cómo. Las tablas se ingresan en el parámetro TABLE y el tipo de acceso se define por ACTVT.
| Campo | Valor |
|---|---|
| ACTVT (Actividad) | 03 (Visualizar) |
| TABLE (Grupo de autorización) | * |
Pruebas
Probar el módulo de función
Tras haber instalado el módulo de función como se indicó anteriormente, se puede realizar una prueba inicial mediante la transacción SE37 del módulo de función usando el botón Test/Execute o la tecla F8.
Los parámetros de importación se pueden ingresar en el primer diálogo. En nuestro ejemplo utilizamos la tabla de sociedades T001 en el campo QUERY_TABLE. Se puede emplear cualquier tabla a la que el usuario actualmente conectado tenga permisos de acceso. No se requieren más entradas para la primera prueba. Para iniciar la prueba, haga clic en el botón Ejecutar o pulse la tecla F8.

Si el módulo de función se ejecuta sin errores, recibirá tablas de resultados. Podrá visualizar el resultado pulsando el ícono Vista detallada junto al número de entradas de TABL_FIELDS o DATA.

TABL_FIELDS contiene la estructura de los campos de la tabla consultada:

DATA contiene los registros de datos de la tabla consultada:

Prueba de la conexión RFC
Puede emplear el dab FunctionModuleTester para comprobar si la conexión puede establecerse correctamente vía RFC. Puede encontrar instrucciones adicionales aquí.
Desinstalación
- Abra la transacción SAINT
- Haga clic en la pestaña Componentes desinstalables, escoja el componente DABEXT y haga clic en Iniciar
- Tras confirmar la desinstalación, el componente se elimina del SAP System



Certificaciones SAP
SAP ya no certifica Add-Ons para sistemas ECC. Esto significa que SAP ya no puede (re)certificar el módulo de función propio de dab para sistemas ECC.
Puede encontrar más información al respecto en esta entrada de blog de SAP.
El Add-On dispone de certificaciones para las siguientes versiones: las certificaciones vigentes también pueden consultarse en cualquier momento en el Directorio de soluciones certificadas por SAP.
Notas de la versión
Versión 1.71
- Ajustes para SAP Clean Core Level B, lo que significa que solo se utilizan APIs aprobadas por SAP
- Ajustes en las condiciones de importación: el Add-On puede instalarse en SAP ECC, SAP S4/HANA y SAP BW/4HANA
- Ampliaciones para la extracción de vistas con claves primarias no únicas (por ejemplo, FAGLFLEXT): se requiere una actualización adicional de la aplicación para esta función
Versión 1.61
- al desinstalar el Add-On, no se podían eliminar todos los objetos debido a información incorrecta sobre los mismos. Esto causaba que la desinstalación se abortara.
Versión 1.60
- además de la corrección de la versión 110, ahora también se admite la resolución de .INCLUDES anidados con sufijos. En concreto, existían problemas en la tabla ACDOCA donde el include .INCLU-_PA contiene un sufijo y también se amplía con .APPEND. Con esta corrección, el sufijo ahora también se aplica a los campos en .APPEND.
Versión 1.50
- el módulo de función ha sido preparado para soportar la exportación de textos largos desde la columna CLUSTD de la tabla STXL
Versión 1.40
- última versión de SAP Add-On compatible con SAP Basis 731 y anteriores
- cumplimiento de los niveles de seguridad requeridos para S/4 Cloud EX
Versión 1.30
- la lectura de la información DDIC proporciona un valor erróneo de OUTPUTLEN para el tipo de datos RAW para el GUID en las tablas CGPL_TASK o DPR_TASK. Como resultado, los GUID afectados se exportan en forma acortada. Para campos de tipo de datos RAW y INTLEN 16 y un OUTPUTLEN menor a 32, el OUTPUTLEN ahora se fija en 32.
Versión 1.20
- al construir la lista de campos para la consulta SQL, **<table>~<fieldname>** se truncaba después de 30 caracteres al componerla, lo que causaba errores en la consulta SQL.
Versión 1.10
- se producían errores en sistemas S4/HANA con ciertas tablas (BKPF, BSEG, MATDOC, ACDOCA, MHNK). Se ha ajustado la resolución de las estructuras INCLUDE dentro de estas tablas con los nombres
- .INCLU-_PN
- .INCLU-_A1
- .INCLU-LO Se ha cambiado la estructura de la lista de campos para la consulta SQL de solo el nombre del campo a **<table>~<fieldname>** para evitar excepciones con ciertos nombres de campo que usan nombres SQL protegidos. (por ejemplo, tabla TOAM - campo Connection).
Módulos de función RFC heredados de SAP
Si utiliza un módulo de función distinto de /DABEXP/RFC_SAPCONNECTOR, le recomendamos encarecidamente que actualice a este módulo RFC. dab no actualizará ni dará soporte a otros módulos de función. ¡Estos módulos tampoco cuentan con la certificación SAP!
Además de /DABEXP/RFC_SAPCONNECTOR, también se admitieron en el pasado otros módulos en el espacio de nombres Z originados de antiguas instalaciones de dab:Exporter o personalizaciones específicas de clientes.
La tabla siguiente compara el alcance funcional de los respectivos módulos:
- Máx. de caracteres por registro: define el número máximo de caracteres que se pueden extraer por registro (particularmente relevante para tablas con muchas columnas)
- S_DEVELOP requerido: los módulos Z requieren el objeto de autorización S_DEVELOP para poder ejecutarse
- Textos largos: los textos largos se almacenan en las tablas STXH y STXL – las versiones más recientes del módulo pueden decodificar y extraer el contenido de estas tablas
- Tipos de datos FLT & RAW: soporte para la extracción en columnas con los tipos de datos FLT y RAW
- Actualización vía SAINT: los módulos Z deben mantenerse empleando las transacciones SE37 y SE80 (el módulo certificado debe instalarse y actualizarse mediante la transacción SAINT)
| Módulo de función | Máx. de caracteres por registro | S_DEVELOP requerido | Textos largos | Tipos de datos FLT & RAW | Actualización vía SAINT | Certificación SAP |
|---|---|---|---|---|---|---|
| Z_RFC_READ_TABLE (Versión 2.0) | 8000 | sí | no | sí | no | no |
| Z_RFC_READ_TABLE (Versión 1.7) | 2048 | sí | no | sí | no | no |
| Z_RFC_READ_TABLE (Versión 1.6 o anterior) | 2048 | sí | no | no | no | no |