SAP

Falsos negativos de uso: validar antes de retirar código Z

Retirar código Z que sí se ejecuta es el riesgo inverso del descope. Cómo diseñar ventanas de observación que eviten falsos negativos en IS-U.

EvoTech
Equipo AGT Comunidades

· 12 min de lectura

Consultor marcando fechas de ciclo en un planificador anual junto a una analista de facturación

Un objeto Z del proceso de facturación que no registra ni una sola ejecución en ocho meses parece un candidato evidente para salir del alcance de remediación. Muchas veces lo es. Pero en el meter-to-cash de una distribuidora, “no ejecutado” y “no usado” son dos afirmaciones distintas, y lo que las separa es la ventana de observación: el período durante el cual el sistema estuvo registrando qué código se llamó y desde qué proceso. Si esa ventana es más corta que el ciclo natural del negocio, el dato no prueba que el objeto esté muerto. Solo prueba que no lo vimos vivo.

La entrega anterior de esta serie sostuvo que reducir el alcance antes de remediar es la primera palanca de ROI de una conversión. Esta cubre el reverso obligatorio de esa tesis: cómo evitar que el descope retire algo que el negocio sí necesita.

El falso negativo no se paga en horas de desarrollo

Los dos errores de una decisión de alcance
Falso positivo y falso negativo no cuestan lo mismo
✗ Falso negativo
En qué consiste Retirar código que sí se ejecuta
Qué cuesta Continuidad operativa
Cuándo aparece Cuando el proceso vuelve a correr: un cierre, un recálculo tarifario, un reporte al ente regulador, una campaña de refacturación
En qué contexto Suele ser después del go-live, con el equipo de conversión ya desmovilizado y el objeto retirado fuera de todo backlog
Dónde impacta En una utility, el proceso que falla rara vez es interno: el que emite facturas, el que sostiene la recaudación o el que alimenta un reporte obligatorio
✓ Falso positivo
En qué consiste Conservar código que en realidad nadie ejecuta
Qué cuesta Presupuesto: dinero de remediación y pruebas
Cuándo aparece En la factura del proyecto
En qué contexto Es visible mientras el proyecto todavía existe
Dónde impacta En el esfuerzo de remediación y pruebas dedicado a código que nadie ejecuta
ContinuidadPresupuesto

Conviene separar los dos errores posibles de una decisión de alcance. El falso positivo consiste en conservar código que en realidad nadie ejecuta: cuesta dinero de remediación y pruebas, es decir, cuesta presupuesto. El falso negativo consiste en retirar código que sí se ejecuta: cuesta continuidad operativa.

La asimetría importa porque los dos errores no se manifiestan en el mismo momento. El falso positivo aparece en la factura del proyecto y es visible mientras el proyecto todavía existe. El falso negativo aparece cuando el proceso vuelve a correr —un cierre, un recálculo tarifario, un reporte al ente regulador, una campaña de refacturación—, y ese momento suele estar después del go-live, cuando el equipo de conversión ya se desmovilizó y el objeto retirado ya no está en ningún backlog.

En una utility, además, el proceso que falla rara vez es interno. Es el que emite facturas, el que sostiene la recaudación o el que alimenta un reporte obligatorio. Por eso la regla de decisión no puede ser simétrica: ante evidencia ambigua, el sesgo debe inclinarse a retener.

El meter-to-cash fabrica ciclos que un monitor corto no ve

Periodicidades del ciclo comercial
Lo que supera por diseño una ventana breve
📅
Procesos anuales
Cierres contables, reportes regulatorios, recálculos y actualizaciones tarifarias que corren una sola vez al año, a veces en una sola noche.
Una vez al año
🌡️
Estacionalidad
Estacionalidad de consumo y de gestión de cartera, que activa lógica específica solo en ciertos meses.
Solo ciertos meses
Procesos disparados por evento
Campañas de refacturación, ajustes retroactivos, revisiones de pérdidas no técnicas, atención de contingencias.
Por evento
📡
Interfaces AMI y de eventos de medición
Lógica excepcional —corte y reconexión masiva, reproceso de lecturas duplicadas, normalización de eventos sin timestamp— que solo se ejecuta cuando ocurre la excepción.
Solo ante la excepción

El ciclo comercial de una distribuidora tiene periodicidades que superan por diseño cualquier ventana de observación breve:

  • Procesos anuales: cierres contables, reportes regulatorios, recálculos y actualizaciones tarifarias que corren una sola vez al año, a veces en una sola noche.
  • Estacionalidad de consumo y de gestión de cartera, que activa lógica específica solo en ciertos meses.
  • Procesos disparados por evento: campañas de refacturación, ajustes retroactivos, revisiones de pérdidas no técnicas, atención de contingencias.
  • Interfaces AMI y de eventos de medición cuya lógica excepcional (corte y reconexión masiva, reproceso de lecturas duplicadas, normalización de eventos sin timestamp) solo se ejecuta cuando ocurre la excepción.

A estos ciclos de negocio se suman causas técnicas de falso negativo que no tienen nada que ver con el uso real: el monitor activado tarde o desactivado a mitad del período, la recolección hecha en un entorno que no es producción, la lógica invocada dinámicamente o desde un sistema externo que estuvo fuera de servicio durante la observación, y —muy frecuente— la pérdida de datos por retención. El ABAP Call Monitor conserva los datos de uso en el sistema por un período limitado, de hasta siete días, por lo que almacenarlos durante un plazo largo exige activar la agregación con la transacción SUSG (SAP Community, 2025). Un equipo que activa el monitor y vuelve a mirarlo un semestre después puede encontrarse con una ventana efectiva mucho más corta que la planificada.

Causas técnicas de falso negativo
Cuando el dato falla sin que el uso haya cambiado
🔌
Monitor mal encendido
El monitor activado tarde o desactivado a mitad del período.
Ventana incompleta
🗂️
Entorno equivocado
La recolección hecha en un entorno que no es producción.
Fuera de producción
🔗
Invocación no observada
Lógica invocada dinámicamente o desde un sistema externo que estuvo fuera de servicio durante la observación.
Llamada indirecta
🗄️
Pérdida de datos por retención
El ABAP Call Monitor conserva los datos de uso por un período limitado, de hasta siete días: almacenarlos a plazo largo exige activar la agregación con la transacción SUSG. Quien activa el monitor y vuelve a mirarlo un semestre después puede encontrar una ventana efectiva mucho más corta que la planificada.
Muy frecuente

Cuánto hay que observar antes de decidir

Aquí la referencia no es una opinión de consultoría: es la recomendación del fabricante. SAP sugiere ejecutar la herramienta de recolección de uso durante un rango de 6 a 18 meses, y que ese período incluya al menos un cierre de fin de año (SAP Learning, consultado 2026). La guía de gestión de código propio para conversiones es más específica sobre el motivo: lo ideal es recolectar datos durante unos 13 meses antes de la migración, precisamente para que aparezcan los reportes que corren una sola vez al año (SAP Help Portal, consultado 2026).

Ese número explica por qué las ventanas de tres o seis meses producen listas de “código muerto” infladas. Y también explica qué hacer cuando el proyecto ya arrancó: la misma guía recomienda activar la recolección igual, aunque queden menos de 13 meses, para al menos capturar lo semanal y lo trimestral (SAP Help Portal, consultado 2026). Observar poco es mejor que no observar; el error es tratar una ventana corta como si fuera concluyente.

El contexto de escala justifica el esfuerzo: en promedio, entre 40% y 60% del código propio no se ejecuta en los entornos productivos, y esa proporción se traduce directamente en esfuerzo de adaptación evitable (SAP Community, 2025).

Un protocolo de validación antes de retirar

Protocolo de validación
De la recolección al retiro registrado
Recolectar
🟢
Activar y agregar
Recolección en producción, con agregación para retención larga
Esperar el ciclo
🔵
Cerrar la ventana
Cubrir al menos un cierre anual completo
Ordenar
🟣
Clasificar
Criticidad de proceso, frecuencia de ejecución, dependencias, cumplimiento regulatorio
Validar
🟠
Confirmar con el dueño del proceso
Comercial, facturación, cartera y regulatorio validan lo dudoso
Reversibilidad
🟡
Cuarentena reversible
Fuera del alcance de remediación, con plan de reactivación
Decidir
Retirar del alcance
Decisión registrada, con su evidencia y su fecha
Las referencias de ventana que da el fabricante
1De 6 a 18 meses, con un cierre de fin de año
SAP sugiere ejecutar la herramienta de recolección de uso durante ese rango, y que el período incluya al menos un cierre de fin de año.
2Unos 13 meses antes de la migración
La guía de gestión de código propio para conversiones señala ese plazo ideal, precisamente para que aparezcan los reportes que corren una sola vez al año.
3Cuando queda menos tiempo
La misma guía recomienda activar la recolección igual, aunque queden menos de 13 meses, para al menos capturar lo semanal y lo trimestral.
SAP Learning, consultado 2026 · SAP Help Portal, consultado 2026 · smartShift, 2026

La decisión no debería salir de un solo dato. El criterio recomendado es mirar más allá del conteo de objetos: qué categorías hay, cómo dependen unos de otros y con qué frecuencia se ejecutan en producción, dando prioridad al código que gobierna registros financieros, cumplimiento regulatorio y transacciones de cara al cliente antes de decidir qué se retiene, qué se rediseña y qué se retira (smartShift, 2026). El dato de uso es una de esas dimensiones, no todas.

El paso de cuarentena es el que convierte una decisión irreversible en una reversible. La aplicación Custom Code Migration construye el alcance inicial a partir de los datos de uso recolectados y permite ajustarlo manualmente, agregando o quitando objetos (SAP, 2026). Esa capacidad de ajuste es exactamente lo que habilita un descope prudente: sacar el objeto del esfuerzo de remediación sin destruir la posibilidad de recuperarlo si el ciclo anual lo despierta.

Qué hacer cuando la ventana no alcanza

Cuando el cronograma no permite el ciclo completo
Sustituir el dato faltante por evidencia, no por optimismo
🗓️
Cruzar con el catálogo de jobs
Contrastar el uso con los jobs planificados y sus variantes, incluidas las de periodicidad anual.
Evidencia de planificación
🔍
Revisar dónde-se-usa
Detectar lógica invocada indirectamente o desde interfaces externas.
Evidencia estática
🗣️
Entrevistar a los dueños de proceso
Facturación, cartera y regulatorio, sobre los procedimientos que corren una vez al año o solo ante contingencia.
Evidencia de negocio
⚖️
Aplicar la regla de asimetría
Ante duda en objetos con impacto en ingresos o sensibilidad regulatoria: retener y documentar por qué.
Sesgo a retener

Cuando el cronograma no permite observar el ciclo completo, la mitigación es sustituir el dato faltante por evidencia de otra naturaleza, no por optimismo:

  • Cruzar el uso con el catálogo de jobs planificados y sus variantes, incluidas las de periodicidad anual.
  • Revisar el análisis de dónde-se-usa para detectar lógica invocada indirectamente o desde interfaces externas.
  • Entrevistar a los dueños de proceso de facturación, cartera y regulatorio sobre los procedimientos que corren una vez al año o solo ante contingencia.
  • Aplicar la regla de asimetría: ante duda en objetos con impacto en ingresos o sensibilidad regulatoria, retener y documentar por qué.

Nada de esto es gratis, pero todo es más barato que descubrir en el primer cierre posterior al go-live que el reporte obligatorio quedó fuera del alcance. La ventana de observación no es un trámite técnico: es el instrumento que hace defendible la decisión de reducir alcance.

Y esa defensa tiene un destinatario concreto. La próxima entrega de esta serie aborda cómo presentar el nuevo alcance al comité: menos objetos, mismo negocio cubierto.

Fuentes

  • SAP Community — ABAP Call Monitor (SCMON): Analyze usage of your code, 2025.
  • SAP Learning — Collecting Usage Data for Custom Code, consultado 2026.
  • SAP Help Portal — Custom Code Management during an SAP S/4HANA Conversion, consultado 2026.
  • SAP — Custom Code Migration Guide for SAP S/4HANA, 2026.
  • smartShift — How to Reduce S/4HANA Migration Risk in 2026, 2026.
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.

Equipo AGT Comunidades · AGT Consultoría
#s/4hana #custom code #is-u #meter to cash #scmon #utilities