Référence des règles du cleaner
Voici le catalogue complet des 45 règles que le cleaner ABAP peut appliquer. Chaque règle est listée avec sa valeur par défaut (Activé ou Désactivé) et ce qu'elle fait. Les tableaux sont groupés par catégorie, correspondant à la liste Règles de l'onglet cleaner ABAP.
Chaque règle préserve le comportement — elle change la forme du code, jamais ce qu'il fait. Le cleaner fonctionne selon un pipeline fixe : Analyse lexicale → exécution des règles activées dans un ordre fixe → réémission. Chaque règle est activable individuellement et configurable via le profil du projet ; sans profil, la valeur par défaut ci-dessous s'applique.
Cinq règles sont Désactivées par défaut : chain_split, concatenate_to_template, describe_lines, identifier_case, align_assignments. Tout le reste est activé par défaut.
Certaines règles Moderniser nécessitent une version ABAP minimale et ne se déclencheront pas en dessous — réglez la Version ABAP cible dans l'onglet du cleaner. Voir How the cleaner works.
Casse#
| Règle |
Par défaut |
Ce qu'elle fait |
keyword_case |
Activé |
Normalise les mots-clés ABAP en minuscules (ou majuscules). |
identifier_case |
Désactivé |
Normalise les identifiants non mots-clés en minuscules (ou majuscules). |
Mise en page#
| Règle |
Par défaut |
Ce qu'elle fait |
pragma_position |
Activé |
Déplace les pragmas en fin de ligne avant le . / , ; corrige ceux mal placés. |
indent |
Activé |
Ré-indente les instructions selon la profondeur de bloc (espaces de tête uniquement). |
Espacement#
| Règle |
Par défaut |
Ce qu'elle fait |
spacing_operators |
Activé |
Exactement une espace autour des opérateurs binaires déjà espacés. |
space_before_period |
Activé |
Supprime les espaces avant un . de fermeture sur la même ligne. |
spacing_commas_parens |
Activé |
Une espace après les virgules de séparation, aucune avant ; corrige les parenthèses espacées. |
space_around_text_literal |
Activé |
Ajoute les espaces manquantes autour des littéraux '…' / `…`. |
closing_brackets_position |
Activé |
Remonte une ligne ne contenant que ) ou ] à la fin de la ligne précédente. |
Alignement#
| Règle |
Par défaut |
Ce qu'elle fait |
align_declarations |
Activé |
Aligne les colonnes TYPE / LIKE et VALUE dans les chaînes et séries de déclarations. |
align_assignments |
Désactivé |
Aligne le = d'affectations simples consécutives. |
align_perform |
Activé |
Aligne les blocs TABLES / USING / CHANGING des appels PERFORM multi-lignes. |
align_clear_free |
Activé |
Aligne les opérandes après CLEAR: / FREE:, les composants SORT…BY et les classes d'exception CATCH. |
align_aliases |
Activé |
Aligne la colonne FOR des déclarations ALIASES consécutives. |
align_parameters |
Activé |
Aligne le = des paramètres un-par-ligne à l'intérieur des parenthèses d'appel / de constructeur multi-lignes. |
| Règle |
Par défaut |
Ce qu'elle fait |
comment_type |
Activé |
Convertit les commentaires * en ligne entière en commentaires " ; le code commenté et les cadres sont conservés. |
comment_normalize |
Activé |
Exactement une espace après les marqueurs de commentaire " et *. |
Espaces#
| Règle |
Par défaut |
Ce qu'elle fait |
condense_blank_lines |
Activé |
Réduit les séries de lignes vides (max 1 par défaut) et supprime les espaces en fin de ligne. |
final_newline |
Activé |
Garantit que le fichier se termine par exactement un saut de ligne. |
Moderniser#
Règles qui réécrivent l'ABAP ancien en équivalents modernes. Lorsqu'une règle nécessite une version ABAP minimale, cela est indiqué ; la réécriture ne se déclenche que lorsque votre Version ABAP cible est suffisamment élevée.
| Règle |
Par défaut |
Ce qu'elle fait |
equals_sign_chain |
Activé |
a = b = c = 1. → une affectation par ligne. |
comparison_operators |
Activé |
EQ / NE / LT / LE / GT / GE → = <> < <= > >= dans les expressions logiques. |
not_is |
Activé |
NOT x IS INITIAL → x IS NOT INITIAL. |
calculation_assignment |
Activé |
x = x + n. → x += n. (aussi - * / ; nécessite ≥ 7.54). |
move_to_assignment |
Activé |
MOVE src TO tgt. → tgt = src. (MOVE simple uniquement). |
create_data_to_new |
Activé |
CREATE DATA dref TYPE t. → dref = NEW t( ). (≥ 7.40). |
create_object_to_new |
Activé |
CREATE OBJECT ref TYPE cls. → ref = NEW cls( … ). (≥ 7.40). |
call_method_functional |
Activé |
CALL METHOD obj->m. → obj->m( … ). (≥ 7.40). |
raise_type_to_new |
Activé |
RAISE EXCEPTION TYPE cls. → RAISE EXCEPTION NEW cls( … ). (≥ 7.52). |
receiving_keyword |
Activé |
meth( … RECEIVING r = tgt ). → tgt = meth( … ). |
omit_exporting |
Activé |
Supprime EXPORTING dans les appels fonctionnels sans IMPORTING / CHANGING / RECEIVING / EXCEPTIONS. |
concatenate_to_template |
Désactivé |
CONCATENATE a b INTO t RESPECTING BLANKS. → t = |{ a }{ b }|. (≥ 7.40). |
assert_equals_subrc |
Activé |
assert_equals( act = sy-subrc exp = n ) → assert_subrc( … ). |
assert_equals_boolean |
Activé |
assert_equals( … exp = abap_true/false ) → assert_true / assert_false( … ). |
arithmetic_compound |
Activé |
ADD n TO x. → x += n. (≥ 7.54). |
assert_parameter_order |
Activé |
Réordonne les arguments de cl_abap_unit_assert : l'attendu d'abord, puis l'effectif. |
condense_to_function |
Activé |
CONDENSE x. → x = condense( … ). (≥ 7.02). |
translate_to_case |
Activé |
TRANSLATE x TO UPPER/LOWER CASE. → x = to_upper/to_lower( x ). (≥ 7.40). |
describe_lines |
Désactivé |
DESCRIBE TABLE itab LINES n. → n = lines( itab ). (≥ 7.02). |
pseudo_comment_to_pragma |
Activé |
Pseudo-commentaires "#EC obsolètes → ##PRAGMA (≥ 7.02). |
Lisibilité#
| Règle |
Par défaut |
Ce qu'elle fait |
empty_commands |
Activé |
Supprime les instructions qui ne sont que de la ponctuation (un . : , isolé) ; les commentaires sont conservés. |
chain_split |
Désactivé |
Décompose une chaîne DATA: en une instruction par membre ; les chaînes BEGIN OF / INCLUDE restent intactes. |
chain_of_one |
Activé |
DATA: x TYPE i. → DATA x TYPE i. (supprime le deux-points quand une chaîne n'a qu'un membre). |
one_command_per_line |
Activé |
Place sur leurs propres lignes les instructions qui partagent une ligne. |
Déclarations#
| Règle |
Par défaut |
Ce qu'elle fait |
implicit_type |
Activé |
DATA lv_x(10). → DATA lv_x(10) TYPE c LENGTH 10. (explicite le type / la longueur implicite). |
escape_char_parameters |
Activé |
Ajoute ou supprime le caractère d'échappement ! sur les noms de paramètres METHODS. |
Pages associées#
- How the cleaner works — l'onglet, l'interrupteur maître et la version cible.
- Chat — où Nettoyer cette tâche exécute le cleaner pour une seule tâche.