ABAP cleaner offers 98 cleanup rules with a total of 463 configuration options:
- Standardize empty lines within methods
- Separate methods and classes with empty lines
- Standardize empty lines in class definitions
- Standardize test classes for CDS views
- Put spaces around text literals
- Close brackets at line end
- Remove space before commas and period
- Put spaces around " comment sign
- Remove needless spaces
- Unchain into multiple statements
- Remove needless CLEAR
- Rearrange local declarations
- Report unused parameters
- Delete unused variables
- Simplify a chain with one element
- Make implicit type explicit
- Use FINAL for immutable variables
- Standardize CLASS ... DEFINITION
- Standardize escaping of !parameters
- Remove empty class definition SECTIONs
- Add missing parameters to ABAP Doc
- Remove lang="en" from ABAP Doc
- Comment with ", not with * (for text)
- Remove end-of comments
- Replace obsolete pseudo comments with pragmas
- Move pragmas to correct position
- Correct frequent typos
- Resolve equals sign chain into several commands
- Prefer calculation assignment operators (+=, -= etc.)
- Use consistent set of comparison operators
- Prefer IS NOT to NOT IS
- Move AND/OR etc. from line end to next line start
- Use string templates to assemble text
- Remove needless parentheses
- Remove empty commands
- Shorten VALUE statements
- Remove the self-reference me->
- Omit RECEIVING
- Omit optional EXPORTING
- Convert CHECK outside loop to IF NOT ... RETURN
- Convert CHECK in loop to IF NOT ... CONTINUE
- Replace long IF blocks at loop end
- Replace long IF blocks at method end
- Replace CALL METHOD with functional call
- Replace CREATE OBJECT with NEW constructor
- Replace RAISE ... TYPE with RAISE ... NEW
- Replace obsolete ADD ... TO etc. with += etc.
- Replace obsolete MOVE ... TO with =
- Replace TRANSLATE with string functions
- Replace CONDENSE with string function
- Replace DESCRIBE TABLE ... LINES with lines( )
- Replace READ TABLE with table expression
- Use assert_true and assert_false
- Use assert_subrc instead of assert_equals
- Use assert class instead of ASSERT
- Standardize assertion parameter order
- Convert upper and lower case
- Use CamelCase for known CDS names
- Use CamelCase in test class for CDS view
- Indent lines
- Align ABAP Doc
- Align METHODS declarations
- Align METHODS ... FOR TESTING
- Align METHODS ... REDEFINITION
- Align ALIASES ... FOR ...
- Align declarations
- Align assignments to the same object
- Align keywords with second word of first line
- Align CLEAR:, FREE:, SORT and CATCH
- Align SELECT clauses
- Align SELECT ... FROM ... JOIN
- Align SELECT lists
- Align parameters and components
- Align logical expressions
- Align conditional expressions
- Align FORM declarations
- Align PERFORM parameters
- Break before DEFINE etc.
- Break before AS SELECT etc.
- Break before JOINs
- Break before ASSOCIATIONs
- Break before select list braces
- Break before WHERE clause etc.
- Standardize spaces around colon, comma etc.
- Standardize spaces around brackets
- Use CamelCase for known entity and field names
- Correct frequent typos in DDL comments