L3 Consulting GmbH
  • Home
  • Leistungen
  • AddOns & Tools
    • L3 Stammdatenprotokoll
    • L3 Controlling Dashboard
    • L3 ELStAM Fallanalyse Tool
    • L3 Sprechende TIP
    • L3 Entgeltnachweis-Protokoll für Fiktivläufe im SAP HCM
  • Blog
  • SAP HCM Payroll Timeline
  • Newsletter
  • Kontakt
  • Unternehmen
  • Arbeiten bei L3
    • Unsere (Arbeits-) Kultur
  • Newsticker
  • Suche
  • Menü Menü
ABAP-Entwicklung

Exception Handling in Klassen: Fehlermeldungen leicht gemacht

ABAP-Entwicklung

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.

1. Eine Nachrichtenklasse anlegen

Grundlage für unsere Fehlermeldungen sind weiterhin die Nachrichtenklassen, welche alle Fehlermeldungen enthalten. Über Transaktion SE91 legen wir eine neue Nachrichtenklasse an: 

Dort definieren wir unsere Fehlermeldung „Personalnummer &1 wurde nicht gefunden“. &1 ist eine Variable, die wir später mit der fehlerhaften Personalnummer füllen.

2. Eine Ausnahmenklasse anlegen

Da wir klassenbasierte Ausnahmen verwenden wollen, brauchen wir als nächstes eine Ausnahmeklasse. Diese legen wir über die Transaktion SE80 an:

Wichtig ist hierbei, dass der Punkt Ausnahmeklasse ausgewählt wird. Nachdem die Klasse angelegt wurde, können im Reiter „Texte“ die einzelnen Ausnahmen definiert werden. In unserem Beispiel legen wir eine Ausnahme NO_PERNR_FOUND an.

Jetzt fehlt noch die Verknüpfung der Ausnahme mit dem Text der Nachrichtenklasse. Hierfür markieren wir unsere Nachricht und pflegen die Verknüpfung über den Button „Nachrichtentext“. 

Wir geben unsere Nachrichtenklasse ZL3_DEMO_MSGS und die auszugebende Nachrichtennummer an. Wenn in der Nachricht Parameter definiert worden sind, können diese an dieser Stelle mit übergeben werden. In unserem Fall verknüpfen wir das Attribut 1 mit dem Klassenattribut PERNR. 

Das Klassenattribut PERNR wurde in der Klasse definiert :

Jetzt steht die Grundstruktur und die Ausnahmenklasse kann in anderen Klassen verwendet werden. 

Fehlermeldungen werfen

Fertig! Jetzt können wir die neue Nachrichtenklasse einsetzen. Hierfür wechseln wir in die Beispielklasse ZCL_L3_BEISPIELKLASSE und legen dort eine Methode EXCEPTION_TEXT an. 

Diesen ordnen wir über den Button „Ausnahmen“ unserer Ausnahmenklasse zu.

Anschließend können wir die Ausnahmeklasse in der Methode verwenden und eine Exception werfen. Der Aufruf der Ausnahme erfolgt dann so:

Wenn wir jetzt die Methode EXCEPTION_TEST ausführen, bekommen wir folgendes Ergebnis:

Fazit

Klassenbasierte Ausnahmen sind kein Hexenwerk. Mit den o.g. 3 Schritten lassen sie sich einfach in neue Entwicklungen integrieren. Wenn klassenbasierte Ausnahmen verwendet werden, folgt man nicht nur der SAP Empfehlung, sondern profitiert auch von den Vorteilen der klassenbasierten Implementierung – wie des vereinfachten Ausnahmehandlings. Tritt ein Fehler auf, kann dieser direkt oder einfach irgendwo entlang der Aufrufhierarchie behandelt werden, ohne dass das Übergeben der Ausnahme an die nächsthöhere Aufrufebene ausprogrammiert werden muss. 

Gibt es evtl. ein Thema, was Sie „brennend“ interessiert und worüber wir unbedingt schreiben sollten?

Dann schicken Sie uns Ihre Idee gerne per Mail über das folgende Kontaktformular! Vielen Dank im Voraus.

15. Oktober 2019/von Jens Richter
https://l3consulting.de/wp-content/uploads/2018/06/Fotolia_141375321_M_klein.jpg 347 700 Jens Richter https://l3consulting.de/wp-content/uploads/2015/10/L3_block_schwarz.png Jens Richter2019-10-15 08:00:572019-09-19 10:28:22Exception Handling in Klassen: Fehlermeldungen leicht gemacht

Suche

Kategorien

Melden Sie sich für unseren Newsletter an!

Interesse mit uns zusammenzuarbeiten?

LET’S TALK!

Kontakt

L3 Consulting GmbH
Akazienstraße 7A
30169 Hannover

T: +49 511 54 45 08 85
F: +49 511 54 45 77 96
E: info@L3Consulting.de

We want YOU!

Wir suchen für unser stetig wachsendes Team qualifizierte und motivierte Verstärkung.

Ob als Werkstudent, frisch von der Uni oder mit Berufspraxis – werde Teil unserer Crew!

Kontakt
  • Impressum
  • Datenschutz
  • Kontakt
  • Downloadbereich

L3 Consulting

© Copyright - L3 Consulting GmbH
  • X
  • Xing
  • Facebook
  • LinkedIn
  • Instagram
  • SAP HCM Consulting
  • SAP HCM Entwicklung
  • SAP HCM AddOns & Tools
  • L365 HCM Support Package Service
  • SAP HCM Seminare
  • SAP HCM Workshops
On Behalf Funktionalität jetzt auch für SAP FIORI Standard Anwendungen ve...Fiori & UI5Fiori & UI5„Mein Teamkalender“ in SAP Fiori 2.0
Nach oben scrollen