Eine saubere Fehlerbehandlung ist die Grundlage für eine schnelle und effektive Analyse von auftretenden Fehlern im ABAP Coding. Aktuell gibt es zwei Möglichkeiten behandelbare Ausnahmen zu definieren: Klassische und klassenbasierte Ausnahmen. Beide Methoden können noch verwendet werden. Laut Empfehlung der SAP sollen in neuen Entwicklungen, sofern möglich, nur noch klassenbasierte Ausnahmen verwendet werden. Wie diese einsetzt werden können, zeigen wir an einem kleinen Beispiel.

Beispiel:

Wir wollen Daten zu einer Mitarbeiterin lesen und stellen fest, dass die übergebene Personalnummer der Mitarbeiterin nicht im System vorhanden ist. Aus diesem Grund wollen wir eine Fehlermeldung ausgeben.

Mit dem Ansatz Clean Code für ABAP frei und offen zu diskutieren, hat die SAP einen neuen Style Guide auf GitHub veröffentlicht. Ziel des Guides ist es, Programmierer zu unterstützen, einen effizienteren, verständlicheren und robusteren Code zu schreiben. Orientiert hat sich die SAP dabei am Buch Clean Code von Robert C. Martin und die Inhalte auf die Programmiersprache ABAP adaptiert.

Der Debugger für ABAP Programme ist ein sehr mächtiges Werkzeug, welches jeder Entwickler vermutlich fast täglich benutzt. Viele kennen aber gar nicht alle Funktionen, die das Arbeiten mit dem Debugger einfacher und effizienter machen. Debugger Scripte erlauben es, bei einem bestimmten Ereignis (dies kann z.B. das Erreichen eines Break- oder Watchpoints sein) aber auch beim Erreichen eines bestimmten Schlüsselworts, Code auszuführen. Durch das Script können nun Daten manipuliert, der Stack ausgegeben und vieles weitere gemacht werden. 

Breakpoints sind ein sehr geläufiges und sehr nützliches Werkzeug, um ABAP-Systeme zu Debuggen. Es gibt aber Situationen, in denen ihre Anwendung nicht sinnvoll funktioniert. Beispiele dafür sind Schleifen, in denen extrem viele Daten verarbeitet werden, man sich aber nur für einen bestimmten Schleifendurchlauf interessiert. Ein anderes Beispiel sind Reports, in denen nicht bekannt ist, wann und wo eine Variable gefüllt wird. Dies kann zum Beispiel bei Forms, die sehr oft aufgerufen werden, der Fall sein, aber auch bei statischen und globalen Variablen und Parametern. In diesen Fällen wäre es viel schöner, wenn der Debugger eine Variable beobachten und bei einem bestimmten Wert automatisch stoppen würde. Der Änderungsort der Variable braucht in diesem Fall nicht bekannt zu sein, es entfällt die aufwendige Suche über die F8-Taste.