Comment fonctionne le cleaner
Le cleaner ABAP est le propre formateur et normaliseur de code de Makion. Il est déterministe et préserve le comportement : il ne modifie que les espaces, la casse, les sauts de ligne et des modernisations de tokens sûres, et il ne change jamais ce que fait le code. Le cleaner s'exécute via l'outil SAP pendant une tâche, avant que l'agent n'écrive ou n'active un objet.
Configurez-le dans l'onglet cleaner ABAP, visible par un administrateur du projet. Tout ce que vous y définissez s'applique à ce projet uniquement.
Ce que le cleaner fait — et ne fait pas#
Le cleaner réécrit la forme de l'ABAP, jamais son sens. Il peut ré-indenter les instructions, normaliser la casse des mots-clés, corriger l'espacement et les lignes vides, aligner les colonnes de déclaration, et appliquer des modernisations sûres (par exemple transformer MOVE src TO tgt. en tgt = src.). Chaque règle préserve le comportement par conception — voir le catalogue complet dans la Cleaner rules reference.
Le cleaner n'est jamais exécuté sur les objets CDS / DDLS / DDLX / SRVD. Reformater ceux-ci mutilerait leurs annotations. Il s'applique au source ABAP uniquement.
Activer le cleaner#
La case maîtresse Nettoyer le code avant activation est l'interrupteur marche/arrêt de tout le cleaner dans ce projet. Elle est DÉSACTIVÉE par défaut.
Lorsqu'elle est ACTIVÉE, une case par tâche Nettoyer cette tâche apparaît dans la zone de saisie du Chat, afin que vous puissiez décider d'exécuter le cleaner pour une seule tâche. Avec l'interrupteur maître désactivé, le cleaner ne s'exécute jamais et cette case est masquée.
Contrôles de l'onglet#
| Contrôle | Ce qu'il fait |
|---|---|
| Nettoyer le code avant activation | Case maîtresse. DÉSACTIVÉE par défaut. Lorsqu'elle est ACTIVÉE, elle active le cleaner pour ce projet et révèle Nettoyer cette tâche dans la zone de saisie du Chat. |
| Version ABAP cible | Saisie numérique (par ex. 757 ; plage 700–799). Conditionne les règles de modernisation — certaines réécritures nécessitent une version ABAP minimale et ne se déclencheront pas sur une cible inférieure. |
| Règles | Le catalogue de règles, groupé par catégorie. Chaque règle a une case, un nom, une description, un exemple avant → après et un identifiant de règle. Désactivé sauf si l'interrupteur maître est activé. |
| Enregistrer | Enregistre la configuration du cleaner pour ce projet. |
Version ABAP cible#
Certaines modernisations n'existent qu'à partir d'une version ABAP donnée — par exemple, les expressions de constructeur comme NEW nécessitent 7.40, et les affectations composées comme x += n nécessitent 7.54. La valeur Version ABAP cible indique au cleaner quelle version vous ciblez afin qu'il n'applique que les réécritures que votre système peut compiler. Réglez-la sur la version de votre système.
Règles#
Le catalogue Règles est groupé par catégorie — Casse, Déclarations, Mise en page, Espacement, Alignement, Commentaires, Espaces, Moderniser et Lisibilité. Chaque règle est activable individuellement et configurable via le profil du projet. Sans profil, la valeur par défaut intégrée de chaque règle s'applique. Les contrôles de règle sont désactivés sauf si l'interrupteur maître est activé.
Pour la liste complète des 45 règles — ce que fait chacune, sa valeur par défaut et son groupe — voir la Cleaner rules reference.
L'exécuter pour une tâche#
- Dans l'onglet cleaner ABAP, activez Nettoyer le code avant activation et choisissez les règles souhaitées.
- Réglez Version ABAP cible sur la version de votre système.
- Cliquez sur Enregistrer.
- Dans le Chat, cochez Nettoyer cette tâche sur la tâche que vous voulez nettoyer. Le cleaner s'exécute avant que l'agent n'écrive ou n'active l'objet.
Comme le cleaner préserve le comportement, il est sans risque de le laisser activé — il va corriger et moderniser le code que l'agent produit sans changer ce qu'il fait. Ajustez les règles individuelles pour correspondre au style maison de votre équipe.
Pages associées#
- Cleaner rules reference — les 45 règles, groupées, avec leurs valeurs par défaut.
- Chat — où apparaît la case Nettoyer cette tâche.
- Specifications — les entrées de tâche à partir desquelles l'agent travaille.