La herramienta que lee la base no se aprueba: se rediseña
Qué hacer en RISE cuando una herramienta de análisis necesita la base de datos: separar motor y dato, y alimentarlo con un contrato de extracción.
· 13 min de lectura
La pieza anterior de esta serie cerró con un caso pendiente. Una herramienta que necesita leer la base de datos directamente no encaja en la lectura remota, ni en los transportes, ni en el add-on. Esta tercera entrega toma ese caso y lo trata como lo que es: un problema de arquitectura, no de permisos.
El escenario es conocido en distribuidoras y operadores de oil & gas de América Latina. Un motor de reglas de calidad cruza lecturas contra documentos de facturación, o valida la consistencia entre ubicaciones técnicas, equipos y órdenes de mantenimiento. Durante años funcionó con conexión directa a tablas y procesos corriendo al lado del servidor. Llegó el entorno gestionado y dejó de funcionar.
La base no está cerrada: está repartida
Antes de rediseñar conviene corregir una lectura frecuente: que en RISE el cliente pierde toda relación con la base de datos. El documento de Roles & Responsibilities de la edición privada reserva el acceso al sistema operativo al proveedor de servicio, sin acceso privilegiado del cliente (SAP, 2026). Pero ese mismo marco asigna al cliente la propiedad y responsabilidad del rol de SAP HANA CUST_USER_ROLE_ADMIN, con el que gestiona usuarios de base de datos (SAP, Roles and Responsibilities PCE y Business Data Cloud, v.07.2026).
La pregunta útil deja de ser «¿tengo acceso a la base?» y pasa a ser «¿qué hace mi herramienta con ese acceso?». Algunas herramientas necesitan residir en el host, correr procesos pesados junto al productivo o escribir sin pasar por la lógica de aplicación. Para ellas no habrá camino, por muchos usuarios que se creen.
Desarmar la herramienta antes de moverla
Casi toda herramienta de análisis diseñada para un sistema propio fusiona cuatro funciones que, en un entorno gestionado, conviene separar. La tabla resume cómo operaba cada una y dónde queda después del rediseño:
| Función | Cómo operaba antes | Dónde vive tras el rediseño |
|---|---|---|
| Leer | Consulta directa a tablas | Extracción controlada desde el sistema gestionado |
| Calcular | Reglas ejecutadas junto al productivo | Motor en un entorno bajo gobierno del cliente |
| Guardar estado | Tablas auxiliares en la misma base | Repositorio propio del motor, con historial |
| Devolver | Escritura directa o ajustes masivos | Canales de aplicación: transportes, tareas y casos |
Solo la primera función necesita tocar el sistema gestionado, y puede resolverse con mecanismos estándar. Las otras tres estaban dentro por costumbre, no por necesidad.
La cuarta merece atención especial. Escribir directo en la base nunca fue buena práctica sobre un IS-U que soporta facturación regulada; en un entorno gestionado, además, deja de ser una opción.
El patrón: motor fuera, dato por contrato
Solo los objetos y campos que la regla necesita, por mecanismos que el modelo gestionado admite
Qué sale, con qué cadencia, quién lo aprueba y cómo se concilia
Reglas, cruces e historial en un entorno que el cliente controla
Hallazgos que vuelven como tareas, casos o cambios transportados
Este patrón cambia la conversación con el proveedor. Ya no se pide una excepción: se pide operar un flujo de datos que el modelo contempla.
Dos formas de alimentar el motor
---
config:
theme: base
fontFamily: 'Inter Variable, system-ui, sans-serif'
themeVariables:
darkMode: true
fontFamily: 'Inter Variable, system-ui, sans-serif'
fontSize: '15px'
background: '#111113'
primaryColor: '#1A1A1D'
primaryTextColor: '#F4F5F8'
primaryBorderColor: '#B89C5C'
secondaryColor: '#242428'
tertiaryColor: '#1A1A1D'
mainBkg: '#1A1A1D'
secondBkg: '#242428'
tertiaryBkg: '#2E2E33'
lineColor: '#B89C5C'
textColor: '#F4F5F8'
titleColor: '#F4F5F8'
nodeBorder: '#B89C5C'
clusterBkg: '#1A1A1D'
clusterBorder: '#2E2E33'
edgeLabelBackground: '#242428'
pie1: '#B89C5C'
pie2: '#f59e0b'
pie3: '#22c55e'
pie4: '#d1bf95'
pie5: '#f97316'
pie6: '#ef4444'
pieTitleTextColor: '#F4F5F8'
pieSectionTextColor: '#F4F5F8'
pieLegendTextColor: '#F4F5F8'
pieStrokeColor: '#111113'
pieOuterStrokeColor: '#111113'
---
flowchart TD
A([Regla del motor de calidad]) --> B{¿La regla tolera trabajar sobre una foto?}
B -->|Sí| C[Instantánea exportada, p. ej. Custom Code Migration]
C --> D[Crear instantánea de datos de uso en el productivo]
D --> E[Exportarla y cargarla en la app]
E --> F([Cálculo fuera del sistema analizado])
B -->|No| G[Replicación sobre datos recientes]
G --> H{¿Existe producto de datos?}
H -->|Sí| I([Producto de datos gestionado por SAP en SAP Business Data Cloud])
H -->|No| K[Se recomiendan vistas CDS liberadas]
K --> J([Estables ante actualizaciones])
K -.->|Vista propia| M([Entra al sistema por transportes])
class A inicio
class B,H decision
class C,D,E,G,K proceso
class F,I,J bueno
class M neutro
classDef inicio fill:#3a352b,stroke:#B89C5C,color:#ffffff
classDef decision fill:#473519,stroke:#f59e0b,color:#ffffff
classDef proceso fill:#33363c,stroke:#9aa0aa,color:#ffffff
classDef bueno fill:#193e2b,stroke:#22c55e,color:#ffffff
classDef neutro fill:#33363c,stroke:#9aa0aa,color:#ffffff
Instantánea exportada

SAP ya aplica esta arquitectura en sus propias herramientas. La app Custom Code Migration puede ejecutarse en SAP BTP ABAP Environment para analizar el código de un sistema on-premise (SAP Discovery Center, s. f.), conectado a través de SAP Cloud Connector (ConvergentIS, s. f.). Desde los releases 2508 de SAP BTP ABAP environment y SAP S/4HANA 2025, SAP separó ese caso en dos apps: Analyze Custom Code para el análisis y Custom Code Migration para la migración a SAP S/4HANA (SAP Help Portal, s. f.). Su flujo contempla crear una instantánea de datos de uso en el sistema productivo, exportarla y cargarla en la app (ConvergentIS, s. f.).
Lo que interesa aquí no es el análisis de código, sino el diseño: el cálculo no ocurre en el sistema analizado. La instantánea funciona cuando la regla tolera trabajar sobre una foto y cuando la revisión humana del paquete antes de que salga forma parte del control.
Replicación desde vistas CDS o productos de datos
Hay reglas que deben correr sobre datos recientes, y para ellas la foto no alcanza. SAP Community documenta la replicación de vistas ABAP CDS personalizadas desde S/4HANA hacia SAP Datasphere, mediante replication flows con captura de cambios (SAP Community, 2026). La misma guía contempla la conexión del sistema en edición privada u on-premise a través de SAP Cloud Connector (SAP Community, 2026).
Otra guía de la comunidad señala como opción recomendada los productos de datos gestionados por SAP en SAP Business Data Cloud para la edición privada. Cuando el producto de datos no existe, recomienda vistas CDS liberadas, por ser estables ante actualizaciones (SAP Community, s. f.). Si la vista CDS es propia, entra al sistema por la vía de transportes descrita en la pieza anterior.
El criterio para elegir no es la frecuencia de la pregunta, sino cuánto envejece la respuesta. Una regla de consistencia de datos maestros de activos tolera la instantánea. Una regla que detecta lecturas anómalas antes del cierre de facturación necesita el flujo continuo.
El contrato de extracción: lo que se firma antes de mover un dato
El rediseño falla con más frecuencia por falta de acuerdos que por tecnología. Antes de mover un solo registro conviene dejar por escrito cinco decisiones:
- Objetos y granularidad. Lecturas y documentos de facturación por porción, o avisos y órdenes sobre ubicaciones técnicas. Solo los campos que la regla usa, no la tabla completa «por si acaso».
- Cadencia y ventana. Alineadas al calendario de lectura y facturación, o a la planificación de mantenimiento, y fuera de los procesos críticos del cierre.
- Conciliación. Conteos de control entre origen y destino, para asegurar que el motor analiza un conjunto completo y no una extracción truncada.
- Dueño y aprobación. Un responsable del dato que sale, con criterio de minimización y alineado a la regulación local de protección de datos personales.
- Retorno. El canal por el que cada tipo de hallazgo vuelve al ERP y quién lo ejecuta.
Lo que el rediseño cuesta
Sacar el motor tiene costos, y es mejor presentarlos al comité antes de que aparezcan en operación.
- Latencia. El motor siempre ve el pasado; la pregunta es cuánto pasado tolera cada regla.
- Cambios y borrados. Una instantánea no registra lo que cambió después. Sin captura de cambios, el motor puede reportar hallazgos ya corregidos.
- Segunda copia de datos sensibles. El repositorio del motor es un nuevo perímetro de seguridad que hay que gobernar con el mismo rigor que el ERP.
- Lógica duplicada. Si el motor reimplementa reglas que ya existen en la aplicación, ambas pueden divergir tras cada actualización. Por eso conviene apoyarse en vistas liberadas y no en tablas internas.
Aun con esos costos, en la práctica SAP de EvoTech Consulting vemos que el rediseño sale más barato que sostener una excepción que el contrato no contempla. La razón es simple: el rediseño sobrevive a la siguiente actualización y la excepción no.
En la próxima pieza de esta guía revisaremos dos creencias frecuentes sobre el cloud privado gestionado que la propia documentación de SAP desmiente.
Fuentes
- SAP — SAP S/4HANA Cloud, private edition, SAP ERP, PCE, and SAP Business Data Cloud: Roles and Responsibilities (v.07.2026): https://assets.cdn.sap.com/agreements/product-policy/hec/roles-responsibilities/sap-s4hana-cloud-private-edition-and-sap-erp-pce-and-sap-business-data-cloud-roles-and-responsibilities-english-v7-2026.pdf (edición en español LATAM: https://assets.cdn.sap.com/agreements/product-policy/hec/roles-responsibilities/sap-s4hana-cloud-private-edition-and-sap-erp-pce-and-sap-business-data-cloud-roles-and-responsibilities-spanish---latam-v7-2026.pdf)
- ConvergentIS — Accelerating Custom Code Analysis Using SAP BTP ABAP Environment (s. f.): https://blog.convergentis.com/custom-code-analysis-sap-btp
- SAP Discovery Center — Use SAP Fiori Custom Code Migration App to Analyze Your ABAP Custom Code for SAP S/4HANA Readiness (s. f.): https://discovery-center.cloud.sap/missiondetail/3362/3539/
- SAP Help Portal — Custom Code Analysis (s. f.): https://help.sap.com/docs/btp/sap-business-technology-platform/custom-code-migration
- SAP Community — SAP S/4HANA Custom ABAP CDS View to Datasphere: Replication Flow Setup, Status & Delta Processing (2026): https://community.sap.com/t5/technology-blog-posts-by-sap/sap-s-4hana-custom-abap-cds-view-to-datasphere-replication-flow-setup/ba-p/14437051
- SAP Community — SAP Datasphere + SAP S/4HANA: Your Guide to Seamless Data Integration (s. f.): https://community.sap.com/t5/technology-blog-posts-by-sap/sap-datasphere-sap-s-4hana-your-guide-to-seamless-data-integration/ba-p/13662817
¿Este análisis mapea un mercado donde ya operas o estás evaluando entrar?
Revisamos tu caso específico, mapeamos los riesgos que aplican, y te decimos honestamente si es oportunidad para ti —sin pitch comercial, solo discusión técnica y estratégica.