Técnico de operación gira el volante rojo de una válvula en una estación de rebombeo de crudo con tuberías en código de color
SAP

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.

EvoTech
EvoTech Consulting Company

· 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
Qué se pierde y qué se conserva frente a la base de datos en RISE
Enfoque a corregir
Enfoque que propone el artículo
En RISE el cliente pierde toda relación con la base de datos.
El sistema operativo queda reservado al proveedor de servicio, pero el cliente es propietario y responsable del rol CUST_USER_ROLE_ADMIN, con el que gestiona usuarios de base de datos.
Partir de la pregunta «¿tengo acceso a la base?»
La pregunta útil pasa a ser «¿qué hace mi herramienta con ese acceso?»
Buscar la salida en crear más usuarios de base de datos.
Si la herramienta necesita residir en el host, correr procesos pesados junto al productivo o escribir sin pasar por la lógica de aplicación, no habrá camino, por muchos usuarios que se creen.

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

Las cuatro funciones de una herramienta de análisis
Solo una necesita tocar el sistema gestionado
📥
Leer
De consulta directa a tablas a extracción controlada desde el sistema gestionado, con mecanismos estándar.
Toca el sistema gestionado
⚙️
Calcular
De reglas ejecutadas junto al productivo a un motor en un entorno bajo gobierno del cliente.
Estaba dentro por costumbre
🗄️
Guardar estado
De tablas auxiliares en la misma base a un repositorio propio del motor, con historial.
Estaba dentro por costumbre
↩️
Devolver
De escritura directa o ajustes masivos a canales de aplicación: transportes, tareas y casos. En un entorno gestionado, escribir directo en la base deja de ser una opción.
Merece atención especial

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

📥Extracción estándar
Solo los objetos y campos que la regla necesita, por mecanismos que el modelo gestionado admite
📜Contrato de extracción
Qué sale, con qué cadencia, quién lo aprueba y cómo se concilia
⚙️Motor externo
Reglas, cruces e historial en un entorno que el cliente controla
↩️Retorno por aplicación
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

Criterio de elección
Instantánea o replicación: cuánto envejece la respuesta
---
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
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. SAP Community documenta la replicación de vistas ABAP CDS personalizadas mediante replication flows con captura de cambios.SAP Community (2026); SAP Community (s. f.); ConvergentIS (s. f.)

Instantánea exportada

Técnico de instrumentación escanea con un lector portátil la etiqueta de identificación de una bomba en un patín de proceso de oil & gas.

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

Contrato de extracción
Cinco decisiones que conviene dejar por escrito antes de mover un registro
🧩
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.
🗓️
Cadencia y ventana
Alineadas al calendario de lectura y facturación o a la planificación de mantenimiento, fuera de los procesos críticos del cierre.
⚖️
Conciliación
Conteos de control entre origen y destino, para que el motor analice 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.

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

Antes de que aparezcan en operación
Cuatro costos de sacar el motor para presentar al comité
⏱️
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 de la aplicación, ambas pueden divergir tras cada actualización; conviene apoyarse en vistas liberadas y no en tablas internas.

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

Conversemos 30 minutos

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

Al enviar aceptas ser contactado por AGT Consultoría para el assessment solicitado. Tus datos no serán compartidos con terceros ni usados para publicidad.

EvoTech Consulting Company · AGT Consultoría
#rise with sap #s4hana private edition #sap datasphere #extraccion de datos #calidad de datos #utilities latam