Cómo calcula SAP Cloud ALM la deuda Clean Core
Niveles A a D, puntos por hallazgo, por qué el nivel del objeto es el del peor hallazgo y los dos números del panel que suelen confundirse.
SAP Cloud ALM empezó a mostrar, para cada sistema, cuánto del código propio de la empresa está fuera del estándar Clean Core. El número aparece en puntos, objeto por objeto, y ya está llegando a las reuniones de upgrade y de planificación. Entender cómo se calcula evita dos trampas: creer que el trabajo no avanzó cuando sí avanzó, y prometer un resultado que el panel no va a mostrar. Si el concepto de Clean Core todavía es nuevo, conviene empezar por Qué es Clean Core y por qué se convirtió en prioridad.
Qué se mide
La medición proviene del ATC (ABAP Test Cockpit), la herramienta de verificación de código del propio SAP. Los checks oficiales de Clean Core señalan cada hallazgo: cada punto del código Z que usa algo de SAP fuera de lo que ella garantiza que no cambia entre actualizaciones. Leer directamente una tabla de SAP es un hallazgo; llamar a una función interna es otro.
La escala: cuatro niveles y puntos por hallazgo
Cada hallazgo recibe un nivel, y cada nivel vale puntos:
| Nivel | Qué es | Ejemplo | Puntos |
|---|---|---|---|
| A | Solo API liberadas, con el objeto en ABAP Cloud | Código nuevo hecho en ABAP Cloud | 0 |
| B | API clásica, estable y aceptada en Clean Core | Llamada a una BAPI, BAdI clásica | 1 |
| C | Objeto interno de SAP, que puede cambiar en una actualización | Lectura directa de una tabla de SAP | 5 |
| D | Uso fuera de Clean Core | Escritura directa en una tabla de SAP | 10 |
La deuda técnica de un objeto es la suma de los puntos de sus hallazgos. La del sistema es la suma de todos los objetos.
El nivel del objeto es el del peor hallazgo
El nivel de un programa no es el promedio de sus hallazgos: es el peor de ellos. Tomemos un programa con 30 hallazgos de nivel B y uno de nivel D:
| Situación | Lo que queda | Nivel | Deuda |
|---|---|---|---|
| Hoy | 30 B + 1 D | D | 30 × 1 + 1 × 10 = 40 |
| Corregidos solo los 30 hallazgos B | 1 D | D | 10 |
| Corregido solo el hallazgo D | 30 B | B | 30 |
| Todo corregido, en ABAP estándar | ninguno | B | 0 |
| Todo corregido y convertido a ABAP Cloud | ninguno | A | 0 |
Corregir 30 hallazgos y dejar atrás el peor reduce la deuda, pero no cambia el nivel. El nivel solo mejora cuando desaparece el último hallazgo del peor nivel.
Los dos números del panel
Entre los indicadores del panel de Extensibilidad de Cloud ALM, dos suelen confundirse, y esa confusión es el origen de la mayor parte de las frustraciones:
| Indicador | Qué cuenta | Cuándo cambia |
|---|---|---|
| Puntuación de la deuda técnica (Technical Debt Score) | La suma de los puntos de todos los hallazgos | Con cada hallazgo corregido |
| Proporción clean core (Clean Core Share) | Cuántos objetos hay en cada nivel, según el peor hallazgo de cada uno | Solo cuando un objeto cambia de nivel |
Un programa grande que baja de 1.200 a 700 puntos y todavía tiene hallazgos C no se mueve en el gráfico de barras: sigue siendo un objeto C. Pero resta 500 puntos de la puntuación. Por eso conviene elegir qué corregir primero con ambas metas a la vista: limpiar por completo objetos pequeños mueve el gráfico; trabajar en los objetos grandes mueve la puntuación.
De dónde salen los números
- Niveles B, C y D: del resultado del ATC que la propia empresa exporta del sistema e importa en Cloud ALM. Sin una nueva importación, el panel no cambia, incluso después de la corrección.
- Nivel A: por la versión de lenguaje del objeto (ABAP for Cloud Development), y no por el ATC. Hasta la primera importación del ATC, todo objeto en ABAP estándar aparece como B.
- Nivel por mensaje: la prioridad del mensaje del ATC define el nivel. Error es D (10 puntos), advertencia es C (5) e información es B (1).
El cambio de agosto de 2026
A partir de los datos de agosto de 2026, SAP cambió el cálculo (anuncio "SAP Cloud ALM's Clean Core Extensibility Assessment is getting more accurate", del 2 de septiembre de 2026, y nota 3761018):
- solo entran tipos de objeto con lógica, como programas, clases y funciones;
- cada módulo de funciones pasa a contar como objeto, y ya no solo el grupo de funciones;
- los objetos sin ningún hallazgo también pasan a contar.
Los meses anteriores no se recalcularon. Comparar julio con agosto mezcla los dos criterios; para alinear el histórico, basta con volver a importar los resultados antiguos del ATC, si todavía están guardados.
En la práctica
La deuda del panel es una cuenta exacta, y la misma cuenta puede hacerse antes de cualquier corrección: ejecutando el ATC con los mismos checks, se sabe cuánto restará cada objeto de la puntuación y si cambiará de nivel. Eso es lo que permite planificar la adecuación por etapas, con una meta en puntos, en lugar de "corregir lo que se pueda". Para entender por qué un programa con pantalla clásica nunca pasa del nivel B, vale la pena leer Por qué un programa con pantalla clásica se queda en el nivel B.
Fuentes
- SAP Help, SAP Cloud ALM: Extensibility (System View), con la importación del resultado del ATC y los indicadores del panel.
- SAP, Clean core extensibility (white paper), edición de agosto de 2026, sección 4.1.3.
- SAP, Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions (ABAP Extensibility Guide), versión 2.3, agosto de 2025, capítulo 5.
- SAP Community, SAP Cloud ALM's Clean Core Extensibility Assessment is getting more accurate, septiembre de 2026, y la nota SAP 3761018.