Clean Core
Le clean core est le principe de SAP visant à maintenir un système SAP S/4HANA proche du standard afin que les mises à niveau restent prévisibles : les extensions utilisent des API libérées et des points d'extension stables, s'exécutent on-stack avec ABAP Cloud ou side-by-side sur SAP BTP, et évitent de modifier le code SAP. Le clean core est un objectif de gouvernance mesuré dans le temps, pas un produit.
L'essentiel
- Type
- Principe d'architecture et de gouvernance
- Couche
- Logique métier et modèle de données ; SAP BTP
- Options d'extension
- Extensibilité key user, extensibilité développeur (ABAP Cloud), side-by-side sur SAP BTP
- Mesuré avec
- Contrôles ABAP Test Cockpit ; niveaux clean core A–D dans SAP Cloud ALM
- Responsables
- Architectes d'entreprise, responsables du développement, CoE SAP
- S'applique à
- Public Edition (imposé par conception) ; Private Edition et on-premise (par la gouvernance)
Couche : Logique métier et modèle de donnéesOù se situe-t-il ? ▾
Couche : Logique métier et modèle de données
Concerne aussi : SAP BTP
Ouvrir la carte d'architecture →Que signifie le clean core en pratique ?
Le clean core est souvent réduit à « pas de code spécifique », ce qui ne correspond pas à la description de SAP. Le principe porte sur la manière dont un système s'écarte du standard, et non sur le fait qu'il s'en écarte :
- Les extensions utilisent des API et des points d'extension libérés, afin que SAP puisse modifier ses éléments internes sans les casser.
- La configuration est préférée au code partout où le standard propose un paramètre.
- L'intégration passe par des interfaces libérées et documentées plutôt que par un accès direct aux tables.
- Les données et l'exploitation suivent les standards actuels, afin que le système reste maintenable.
Un système peut comporter de nombreuses extensions et rester conforme au clean core, tant que chacune ne dépend que de ce que SAP s'est engagé à maintenir stable. Le clean core est donc une règle sur les dépendances, et non une interdiction de se différencier.
Comment fonctionnent les niveaux clean core ?
Les recommandations actuelles de SAP classent les objets spécifiques en quatre niveaux, que SAP Cloud ALM utilise pour rendre compte d'une part clean core :
| Niveau | Ce que l'objet utilise | Classification |
|---|---|---|
| A | ABAP Cloud et API libérées uniquement | Clean core |
| B | API libérées plus API classiques que SAP classe comme utilisables par les clients | Clean core |
| C | Objets internes SAP non classés ou non destinés à un usage client | Conditionnellement clean ; nécessite une surveillance des changements |
| D | Modifications et autres patterns que SAP ne prend pas en charge pour les extensions | Hors clean core |
Des documents SAP plus anciens décrivent un modèle d'extensibilité à trois tiers d'intention comparable, et les deux vocabulaires figurent encore dans la documentation SAP. Les niveaux clean core transforment le principe en quelque chose qu'une équipe peut mesurer objet par objet.
Quels sont les points forts du principe clean core ?
- Mises à niveau prévisibles : les extensions qui n'utilisent que des API libérées continuent de fonctionner d'une release à l'autre, ce qui réduit les tests de non-régression et les projets de mise à niveau.
- Compatibilité cloud : les mêmes règles s'appliquent dans SAP S/4HANA Cloud Public Edition, de sorte qu'une équipe on-premise qui les suit garde ses options ouvertes.
- Une échelle de décision commune : d'abord le standard, puis l'extensibilité key user, puis l'extensibilité développeur, puis le side-by-side ; cette séquence donne aux architectes et aux consultants un langage commun.
- Mesurabilité : les contrôles ABAP Test Cockpit et la classification par niveaux rendent les progrès visibles plutôt qu'anecdotiques.
- Coût réduit à long terme : moins de modifications signifie moins d'ajustements lors des support packages et des changements de release.
Pour toute organisation qui souhaite rester sur les releases SAP actuelles, le clean core est la politique d'extension que les outils et les recommandations de SAP sont conçus pour soutenir.
Où s'arrête le clean core ?
- Il ne décide pas de ce qu'il faut construire. Le clean core régit la manière dont une extension dépend de SAP, pas l'intérêt de construire l'exigence qui la motive.
- Il déplace la complexité au lieu de la supprimer. Une extension side-by-side est propre du point de vue du core, mais elle ajoute intégration, identité, supervision et un second cycle de vie.
- La couverture des API est inégale. Faute d'API libérée, les équipes se replient sur le niveau C ou attendent, et ce manque est une plainte fréquente dans les communautés de praticiens.
- Le code hérité prend des années. Les grandes bases de code de l'ère ECC progressent niveau par niveau ; la mesure montre la distance, pas le chemin.
- La responsabilité est hors du périmètre. Une extension peut être parfaitement conforme au clean core et n'avoir pourtant ni responsable, ni documentation, ni lien avec le processus qu'elle soutient.
Le clean core préserve la capacité de mise à niveau de l'ERP ; la responsabilité, la conception des processus et le coût du paysage environnant restent des questions distinctes.
Comment décider où placer une extension ?
Parcourez cette échelle de haut en bas et arrêtez-vous à la première option qui répond à l'exigence :
- Standard ou configuration. Un paramètre, un business role ou une application livrée peut-il la couvrir ?
- Extensibilité key user. S'agit-il d'un champ personnalisé, d'un contrôle, d'une valeur par défaut ou d'une adaptation de l'interface ? Le besoin d'Alder Manufacturing d'un champ de notation fournisseur sur les commandes d'achat s'arrête ici.
- Extensibilité développeur. Faut-il du code ABAP spécifique au plus près des données et des transactions SAP S/4HANA ? Construisez-le avec ABAP Cloud on-stack.
- Side-by-side sur SAP BTP. L'extension sert-elle des utilisateurs externes, combine-t-elle plusieurs systèmes ou nécessite-t-elle son propre cycle de vie ? Un portail en libre-service pour Cedar Office Supply a sa place ici.
- Extension classique. Uniquement avec une exception documentée, un responsable et un plan pour remonter les niveaux.
La décision clean core se prend exigence par exigence, et la raison de chaque choix doit être consignée là où les architectes pourront la retrouver plus tard.
Quelles sont les erreurs fréquentes avec le clean core ?
- Le traiter comme un nettoyage ponctuel. Sans contrôles dans le processus de développement, de nouveaux objets de niveau C et D apparaissent après la fin du projet.
- Interdire purement et simplement le niveau C. Certaines exigences n'ont pas encore d'API libérée ; un objet de niveau C surveillé peut être le choix honnête.
- Compter les objets plutôt que le risque. Une seule modification dans une routine centrale de comptabilisation pèse plus que de nombreux reports inutilisés.
- Tout déplacer vers SAP BTP. Le side-by-side n'est pas automatiquement plus propre si l'extension a toujours besoin d'interfaces non libérées.
- Oublier la couche d'interface. Les applications SAP Fiori copiées et modifiées comportent leur propre risque de mise à niveau ; les mécanismes d'extension d'interface de SAP, comme les adaptation projects, sont la voie la plus sûre.
La plupart des échecs du clean core sont des échecs de gouvernance qui se manifestent plus tard sous forme d'effort de mise à niveau.
Clean core ou ABAP Cloud : quelle différence ?
| Clean core | ABAP Cloud | |
|---|---|---|
| Nature | Un principe et un objectif de gouvernance | Un modèle de développement et une version de langage ABAP |
| Périmètre | Extensions, configuration, intégration, données et exploitation | Code ABAP spécifique on-stack ou dans l'environnement ABAP de SAP BTP |
| Imposé par | Politique, contrôles ABAP Test Cockpit, niveaux clean core | Le compilateur : seules les API libérées sont autorisées |
| Relation | L'objectif | L'un des principaux moyens d'atteindre l'objectif pour le code ABAP |
Le clean core est l'état cible ; ABAP Cloud est le modèle de développement qui rend le code ABAP spécifique conforme à cette cible par construction.
Questions fréquentes
Le clean core ne concerne-t-il que SAP S/4HANA Cloud Public Edition ?
Non. Public Edition impose le clean core par conception, car les clients ne peuvent pas y modifier le code SAP. Private Edition et on-premise autorisent les modifications, si bien que le clean core devient une décision de gouvernance. Les recommandations de SAP et les contrôles ABAP Test Cockpit s'appliquent aux trois options de déploiement.
Le clean core signifie-t-il zéro code spécifique ?
Non. Le clean core autorise un code spécifique important, à condition qu'il ne dépende que d'API et de points d'extension libérés. Un système doté de nombreuses extensions ABAP Cloud bien construites et d'applications side-by-side peut être plus conforme au clean core qu'un système comportant quelques modifications directes.
Comment mesurer le clean core ?
ABAP Test Cockpit exécute des contrôles clean core sur le code spécifique, et SAP fournit une variante de contrôle dédiée à la préparation au clean core. SAP Cloud ALM classe les objets en niveaux A à D et rend compte d'une part clean core, ce qui rend les progrès visibles dans le temps.
Quelle est la différence entre clean core et ABAP Cloud ?
Le clean core est le principe consistant à maintenir l'ERP proche du standard. ABAP Cloud est le modèle de développement qui limite le code ABAP aux API libérées et aux fonctionnalités de langage prêtes pour le cloud. ABAP Cloud est un moyen d'atteindre le clean core ; l'extensibilité key user et l'extensibilité side-by-side en sont d'autres.
Un système comportant des modifications peut-il encore être qualifié de clean core ?
Pas pour les objets modifiés. Les modifications sont classées au niveau le plus bas, hors clean core. Le reste du système peut tout de même être conforme, et de nombreuses organisations suivent les modifications restantes comme une dette technique, avec un plan pour les remplacer progressivement.
Sources
- SAP Help Portal: Clean core extensibility and ABAP-based extensions
- SAP Help Portal: SAP Cloud ALM — extensibility and clean core levels
- SAP Help Portal: Keep clean core governance with ABAP Test Cockpit
- SAP Help Portal: Extensibility options compared (ABAP platform)
- SAP Help Portal: Clean Core Extensibility for SAP Cloud ERP (clean core dimensions)
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition
- Dernière relecture