ABAP cleaner project – open, configurable, and automated
The intention of open sourcing these ABAP tools for clean code is to offer collaboration, full transparency and to allow the whole SAP ecosystem to benefit from high quality code! Since April 2023, there is another open-source project pursuing the same aim: ABAP cleaner.
The general objective of the ABAP cleaner tool is the same as of code pal for ABAP: helping ABAP developers to follow the rules of Clean ABAP. While code pal quick fixes are most suitable to clean existing code according to Clean ABAP rules, ABAP cleaner can be used immediately while writing code to clean the code in an automated way (read more).
ABAP cleaner applies 60+ cleanup rules to ABAP code at a single keystroke. It is a configurable tool with the ambition to automate whatever can be automated with respect to ABAP code style: Alignment, formatting, syntax improvements, replacement of obsolete commands etc. It is available both as a plug-in to ABAP Development Tools (ADT, a.k.a. ABAP in Eclipse) and as a stand-alone version and allows you and your team to configure exactly which of the 60+ cleanup rules you want to apply. Like Pretty Printer, the cleanup is then done with a single keystroke, cleaning any selected amount of code from a single statement or method up to a whole multi-thousand-line code document. This project has been a very popular Inner Source project at SAP for two years and was open sourced earlier this year.
For a better understanding of how to use ABAP Cleaner and an overview of some of the other ABAP tools in the context of clean ABAP, please refer to Olga Dolinskaja’s recent blog post. For a demo on how to use and install the ABAP cleaner, you can watch a recording of the Devtoberfest 2023 session on YouTube How to Clean your ABAP code in Seconds with ABAP Cleaner.
In the Webinar recording from November 15th you can hear more about the open source journey of this the ABAP cleaner project. In this virtual event Jörg-Michael Grassau, author of the ABAP cleaner tool, explained the scope and usage of this tool and gave interesting insights into his learnings on the way from initiating the tool, sharing it internally as InnerSource project and the process until having it open for the entire ABAP ecosystem on GitHub (link to slides).
With this project, Jörg-Michael’s original intention of saving himself time when programming now benefits many other ABAP developers (recent comment by a user: “I wasted so much time doing all this manually”).