Como o SAP Cloud ALM calcula o débito Clean Core
Níveis A a D, pontos por ocorrência, por que o nível do objeto é o da pior ocorrência e os dois números do painel que costumam ser confundidos.
O SAP Cloud ALM passou a mostrar, para cada sistema, quanto do código próprio da empresa está fora do padrão Clean Core. O número aparece em pontos, objeto por objeto, e já está entrando em reuniões de upgrade e de planejamento. Entender como ele é calculado evita duas armadilhas: achar que o trabalho não avançou quando avançou, e prometer um resultado que o painel não vai mostrar. Se o conceito de Clean Core ainda é novo, comece por O que é Clean Core, e por que ele virou prioridade.
O que é medido
A medição vem do ATC (ABAP Test Cockpit), a ferramenta de verificação de código do próprio SAP. Os checks oficiais de Clean Core apontam cada ocorrência: cada ponto do código Z que usa algo da SAP fora do que ela garante que não muda entre atualizações. Ler direto uma tabela da SAP é uma ocorrência; chamar uma função interna é outra.
A régua: quatro níveis e pontos por ocorrência
Cada ocorrência recebe um nível, e cada nível vale pontos:
| Nível | O que é | Exemplo | Pontos |
|---|---|---|---|
| A | Só APIs liberadas, com o objeto em ABAP Cloud | Código novo feito em ABAP Cloud | 0 |
| B | API clássica, estável e aceita no Clean Core | Chamada de BAPI, BAdI clássica | 1 |
| C | Objeto interno da SAP, que pode mudar numa atualização | Leitura direta de tabela da SAP | 5 |
| D | Uso fora do Clean Core | Gravação direta em tabela da SAP | 10 |
O débito técnico de um objeto é a soma dos pontos das suas ocorrências. O do sistema é a soma de todos os objetos.
O nível do objeto é o da pior ocorrência
O nível de um programa não é a média das ocorrências: é a pior delas. Veja um programa com 30 ocorrências de nível B e uma de nível D:
| Situação | O que resta | Nível | Débito |
|---|---|---|---|
| Hoje | 30 B + 1 D | D | 30 × 1 + 1 × 10 = 40 |
| Corrigidas só as 30 ocorrências B | 1 D | D | 10 |
| Corrigida só a ocorrência D | 30 B | B | 30 |
| Corrigido tudo, em ABAP padrão | nenhuma | B | 0 |
| Corrigido tudo e convertido para ABAP Cloud | nenhuma | A | 0 |
Corrigir 30 ocorrências e deixar a pior para trás reduz o débito, mas não muda o nível. O nível só melhora quando sai a última ocorrência do pior nível.
Os dois números do painel
Entre os indicadores do painel de Extensibilidade do Cloud ALM, dois costumam ser confundidos, e essa confusão é a origem da maior parte das frustrações:
| Indicador | O que conta | Quando muda |
|---|---|---|
| Pontuação do débito técnico (Technical Debt Score) | A soma dos pontos de todas as ocorrências | A cada ocorrência corrigida |
| Compartilhamento clean core (Clean Core Share) | Quantos objetos estão em cada nível, pela pior ocorrência de cada um | Só quando um objeto muda de nível |
Um programa grande que cai de 1.200 para 700 pontos e ainda tem ocorrências C não se move no gráfico de barras: continua sendo um objeto C. Mas tira 500 pontos da pontuação. Por isso vale escolher o que corrigir primeiro com as duas metas em vista: limpar por completo objetos pequenos move o gráfico; trabalhar nos objetos grandes move a pontuação.
De onde vêm os números
- Níveis B, C e D: do resultado do ATC que a própria empresa exporta do sistema e importa no Cloud ALM. Sem uma importação nova, o painel não muda, mesmo depois da correção.
- Nível A: pela versão de linguagem do objeto (ABAP for Cloud Development), e não pelo ATC. Até a primeira importação do ATC, todo objeto em ABAP padrão aparece como B.
- Nível por mensagem: a prioridade da mensagem do ATC define o nível. Erro é D (10 pontos), aviso é C (5) e informação é B (1).
A mudança de agosto de 2026
A partir dos dados de agosto de 2026, a SAP mudou o cálculo (anúncio "SAP Cloud ALM's Clean Core Extensibility Assessment is getting more accurate", de 2 de setembro de 2026, e nota 3761018):
- só entram tipos de objeto com lógica, como programas, classes e funções;
- cada módulo de função passa a contar como objeto, e não mais só o grupo de funções;
- objetos sem nenhuma ocorrência também passam a contar.
Os meses anteriores não foram recalculados. Comparar julho com agosto mistura os dois critérios; para alinhar o histórico, basta importar de novo os resultados antigos do ATC, se ainda estiverem guardados.
Na prática
O débito do painel é uma conta exata, e a mesma conta pode ser feita antes de qualquer correção: rodando o ATC com os mesmos checks, sabe-se quanto cada objeto vai tirar da pontuação e se ele muda de nível. É isso que permite planejar a adequação por etapas, com meta em pontos, em vez de "corrigir o que der". Para entender por que um programa com tela clássica nunca passa do nível B, leia Por que um programa com tela clássica para no nível B.
Fontes
- SAP Help, SAP Cloud ALM: Extensibility (System View), com a importação do resultado do ATC e os indicadores do painel.
- SAP, Clean core extensibility (white paper), edição de agosto de 2026, seção 4.1.3.
- SAP, Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions (ABAP Extensibility Guide), versão 2.3, agosto de 2025, capítulo 5.
- SAP Community, SAP Cloud ALM's Clean Core Extensibility Assessment is getting more accurate, setembro de 2026, e a nota SAP 3761018.