Planificador de mantenimiento revisa válvulas y bridas clasificadas por tamaño en el depósito de repuestos de una refinería
SAP

El inventario bruto no es el alcance: qué infla el conteo ABAP

El check devuelve miles de objetos Z, pero buena parte nunca se ejecutó en producción. Cómo separar el inventario bruto del alcance real de remediación.

EvoTech
EvoTech Consulting Company

· 11 min de lectura

En la pieza anterior de esta serie sostuvimos que equivocarse en el número de una remediación cuesta en las dos direcciones: de más se pierde el proyecto, de menos lo paga quien firmó. Aquí atacamos la primera causa del error, y es más temprana de lo que parece. El número con el que casi siempre arranca la conversación —el total que devolvió un check de código propio— no es el alcance de la remediación. Es un inventario. Y un inventario cuenta lo que está guardado, no lo que se usa.

La distinción no es semántica. En una distribuidora eléctrica o en un operador de oil & gas de la región, ese total suele ser el insumo con el que se arma un presupuesto, se negocia una ventana de parada y se compromete una fecha de conversión. Si el total sobreestima el trabajo real, la propuesta sale cara y se cae; si se corrige a ojo, sale barata y la diferencia la absorbe el equipo de entrega.

El conteo bruto responde a otra pregunta

Inventario vs alcance
Qué pregunta responde cada número
✗ Conteo bruto
Qué mide Cuántos objetos existen en el namespace del cliente
Contra qué corre Hallazgos contra las simplificaciones del destino
Qué no responde Cuánto de eso sostiene hoy un proceso vivo
Naturaleza Un inventario: cuenta lo que está guardado
Efecto en la propuesta Si sobreestima el trabajo real, la propuesta sale cara y se cae
✓ Alcance de remediación
Qué mide Lo que la operación realmente ejecuta
Contra qué corre Ejecución real en producción
Qué responde Qué objetos sí requieren adaptación y prueba
Naturaleza Una separación auditable entre lo ejecutado y lo que solo ocupa espacio
Efecto en la propuesta Un entregable que sostiene una negociación
RepositorioOperación

Un check de código propio responde: cuántos objetos existen en el namespace del cliente y cuántos hallazgos generan contra las simplificaciones del destino. No responde: cuánto de eso sostiene hoy un proceso vivo.

SAP separa explícitamente los dos momentos del análisis. SAP Readiness Check se usa en la fase de planeación y entrega una visión de alto nivel del análisis de código propio; el ABAP Test Cockpit se usa en la fase de proyecto y ejecuta el análisis profundo de los usos críticos que deben adaptarse (SAP Community, 2026). Ambos miden el repositorio y su compatibilidad. Ninguno, por sí solo, mide operación.

El propio SAP lo dice sin rodeos: un sistema de cliente típico contiene una cantidad importante de objetos de desarrollo propio —objetos Z, ampliaciones y modificaciones— que no se usan productivamente, y la recomendación es monitorear el landscape durante un período prolongado para eliminar ese código antes de adaptarlo, porque eso reduce significativamente el esfuerzo de adaptación (SAP Community, 2023). La magnitud del fenómeno está documentada: en promedio, entre 40% y 60% del código propio no se ejecuta en el landscape productivo (SAP Community, 2025).

Qué infla el inventario en un ERP de utilities y oil & gas

Cuatro familias
Qué separa lo que se cuenta de lo que se opera
📑
Clones abandonados
Se copia un programa estándar o un Z existente para una variante; la variante se descarta o se fusiona y el clon queda activo en el repositorio con su propia deuda de adaptación.
Repositorio activo
🏭
Código de industrias y procesos que la empresa nunca operó
Módulos dimensionados en un alcance original, desarrollados parcialmente y nunca entrados en productivo; plantillas corporativas de un modelo de grupo que la filial local no adoptó. Existen, compilan, generan hallazgos, no facturan nada.
Nunca productivo
🗓️
Desarrollos de procesos que se dejaron de operar
Reportes de un esquema tarifario derogado, cargas de un formato regulatorio que el ente cambió, rutinas de campañas comerciales terminadas. Nadie las borró porque borrar no tenía dueño ni presupuesto.
Sin dueño de borrado
🕳️
Código sombra que nadie reclama
El inventario completo de extensiones cubre código propio, enhancements, user exits, BAdIs, tablas Z, RFC e IDocs, e incluye el código sombra que nadie toca: el segmento sin dueño funcional que nadie reivindica en un taller de levantamiento.
Sin dueño funcional

Cuatro familias explican buena parte de la diferencia entre lo que se cuenta y lo que se opera.

  • Clones abandonados. El patrón clásico: se copia un programa estándar o un Z existente para una variante, la variante se descarta o se fusiona, y el clon queda activo en el repositorio con su propia deuda de adaptación.
  • Código de industrias y procesos que la empresa nunca operó. Módulos que se dimensionaron en un alcance original, se desarrollaron parcialmente y nunca entraron en productivo; plantillas corporativas heredadas de un modelo de grupo que la filial local no adoptó. Existen, compilan, generan hallazgos, no facturan nada.
  • Desarrollos de procesos que se dejaron de operar. Reportes construidos para un esquema tarifario derogado, cargas de un formato regulatorio que el ente cambió, rutinas de campañas comerciales que terminaron hace años. Nadie las borró porque borrar no tenía dueño ni presupuesto.
  • Código sombra que nadie reclama. Un inventario completo de extensiones debe cubrir código propio, enhancements, user exits, BAdIs, tablas Z, RFC e IDocs, e incluir explícitamente el código sombra que nadie toca (Avo Technologies, 2025). Ese es justamente el segmento sin dueño funcional que ningún entrevistado va a reivindicar en un taller de levantamiento.

La evidencia que baja el alcance es el uso productivo

Cadena instrumental
De inventario bruto a alcance defendible
Punto de partida
📦
Inventario bruto
Objetos propios presentes en el repositorio
Evidencia
🔎
Registro de ejecución
ABAP Call Monitor y SQL Monitor en productivo
Conservación
🗄️
Agregación de uso
SUSG conserva la serie más allá de la retención corta de SCMON
Separación
🎯
Scoping
Custom Code Migration separa lo usado de lo que sale de alcance
Resultado
📐
Alcance defendible
Objetos que sí requieren adaptación y prueba
Dos detalles operativos
1Retención corta de SCMON
El ABAP Call Monitor conserva los datos por un período corto —del orden de días—: sin la agregación de la transacción SUSG la evidencia se pierde justo cuando se la necesita.
2El scoping tiene una sola vía
Solo está soportado mediante la app Custom Code Migration, que genera transportes de borrado aplicables durante la conversión; eso es lo que materializa la reducción en el sistema destino.
SAP Community, 2025 · SAP Help Portal, 2025

La única forma de convertir un inventario en alcance es cruzarlo contra ejecución real en producción. La cadena instrumental está documentada y es la misma para una comercializadora que para un operador de campo.

Dos detalles operativos importan más de lo que sugiere su tamaño. Primero, el ABAP Call Monitor conserva los datos en el sistema por un período corto —del orden de días—, así que sin la agregación de la transacción SUSG la evidencia se pierde justo cuando se la necesita (SAP Community, 2025). Segundo, el scoping solo está soportado mediante la app Custom Code Migration, que genera transportes de borrado aplicables durante la conversión: eso es lo que permite que la reducción de alcance no quede en una planilla, sino que se materialice en el sistema destino (SAP Help Portal, 2025).

Por qué una ventana corta miente en facturación masiva

Ventana de medición
Qué pasa cuando la ventana no cubre el ciclo largo
📅
La recomendación
Los datos de uso deben cubrir al menos un año, para que también entren los procesos de cierre trimestral y anual.
Lo que corre una vez al año
La operación tiene rutinas que corren una vez al año o una vez por ciclo largo: ajustes tarifarios, refacturaciones masivas, reportes regulatorios anuales, inventarios de activos de red, cierres de campaña de lectura.
⏱️
La ventana corta
Se mide una ventana de tres meses, y queda el mes que no se midió.
⚠️
El objeto declarado muerto
Esa ventana declarará muertos objetos que solo despiertan en el mes que no se midió.
Segundo cuidado, de landscape: los datos de uso se recolectan por sistema y un objeto sin uso en uno pero con uso en otro no debe darse de baja. En grupos con varias unidades de negocio o un sistema por país, esa verificación cruzada es obligatoria antes de firmar cualquier reducción.

Aquí es donde el sector castiga los atajos. La recomendación de SAP es que los datos de uso cubran al menos un año, para que también entren los procesos de cierre trimestral y anual (SAP Help Portal, 2025). En una distribuidora eléctrica esa condición no es formalismo contable: la operación tiene rutinas que corren una vez al año o una vez por ciclo largo —ajustes tarifarios, refacturaciones masivas, reportes regulatorios anuales, inventarios de activos de red, cierres de campaña de lectura—. Una ventana de tres meses declarará muertos objetos que solo despiertan en el mes que no se midió.

Hay un segundo cuidado, y es de landscape: los datos de uso se recolectan por sistema, y un objeto sin uso en uno pero con uso en otro no debe darse de baja (SAP Community, 2025). En grupos con varias unidades de negocio o con un sistema por país, esa verificación cruzada es obligatoria antes de firmar cualquier reducción.

Del conteo bruto a un alcance defendible

Tres cubetas
En qué se convierte el inventario con evidencia de uso
En alcance
Uso confirmado en la ventana medida.
Uso confirmado
🗑️
Fuera de alcance
Sin uso, con transporte de borrado asociado.
Sin uso
🔍
En observación
Sin datos suficientes o con uso ambiguo. Es la cubeta honesta, y es la que se comunica con supuestos declarados: qué ventana se midió, qué sistemas se cruzaron, qué procesos anuales quedaron fuera de esa ventana.
Supuestos declarados

Con evidencia de uso, el inventario deja de ser un número y pasa a ser tres cubetas: en alcance (uso confirmado en la ventana), fuera de alcance (sin uso, con transporte de borrado asociado) y en observación (sin datos suficientes o con uso ambiguo). La tercera cubeta es la honesta, y es la que se comunica con supuestos declarados: qué ventana se midió, qué sistemas se cruzaron, qué procesos anuales quedaron fuera de esa ventana.

Ese es el entregable que sostiene una negociación. No un total que impresiona, sino una separación auditable entre lo que la operación ejecuta y lo que solo ocupa espacio.

Aun con el inventario ABAP depurado, queda una zona que ningún check reporta: las interfaces y las cargas que sostienen la facturación y la gestión de activos, y que viven fuera del inventario de código propio. Ese es el tema de la próxima pieza de esta guía.

Fuentes

  • SAP Community — SAP S/4HANA System Conversion: Custom code adaptation process (2023)
  • SAP Community — ABAP Call Monitor (SCMON): Analyze usage of your code (2025)
  • SAP Community — Custom code adaptation for SAP S/4HANA: FAQ (2026)
  • SAP Help Portal — Custom Code Migration Guide for SAP S/4HANA 2025 (edición vigente 2026-02-25; edición anterior 2025-10-08)
  • Avo Technologies — What Is Clean Core A–D Extensibility Model (2025)
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
#sap s/4hana #codigo propio #abap #utilities #oil and gas #remediacion