Contact
QR code for the current URL

Story Box-ID: 1166720

Inwerken AG Pappelweg 5 30916 Isernhagen, Germany http://www.inwerken.de
Contact Ms Christin Harms
Company logo of Inwerken AG

ABAP-Übungsaufgaben mit automatisierter Prüfung

Mitarbeiterschulung ABAP-Befehle

(PresseBox) (Isernhagen, )
Die Entwicklung mit ABAP erfordert inzwischen eine Unmenge von Wissen. In den letzten Jahren hat sich einiges bei den ABAP-Sprachelementen getan. Angefangen hat es mit String Templates, mit denen sich Zeichenketen einfacher und ohne Hilfsvariablen zusammensetzen lassen. Darüber hinaus sind nach und nach weitere Funktionen aus verschiedenen Bereichen hinzugekommen:

Tabellenausdrücke (Table Expressions)
Tabellenfunktionen (LINES, LINE_INDEX, LINE_EXISTS)
Ausdrücke und Funktionen (FIND, CHAR_OFF, COUNT, CONDENSE, ESCAPE, SUBSTRING u.w.)
Inline-Deklarationen (DATA, FIELD-SYMBOLS)
Konstruktorausdrücke (NEW, VALUE)
Iterationsausdrücke (FOR, REDUCE)
Filteroperator FILTER
Meshes
• Zuweisungen (CORRESPONDING, CONV)

In den letzten zehn Jahren ist unglaublich viel Bewegung im ABAP-Umfeld. Neue Techniken, wie CDS-Views, UI5, RAP, CAP oder Cloud habe ich noch nicht einmal erwähnt …

Die Herausforderungen für SAP-Entwicklerinnen und -Entwickler sind dementsprechend groß und es stellt sich die Frage, wie man all diese Sprachelemente lernen soll.

In diesem Blogbeitrag möchte ich Ihnen zeigen, wie Voraussetzungen für Entwickelnde im eigenen SAP-System geschaffen werden, sodass sich diese nach und nach und im eigenen Tempo weiterbilden können.

1. Eigene Schulungsplatform aufbauen

Das Lernen von neuen Sprachelementen erweist sich mitunter als recht schwierig, da erstens Zeit und zweitens konkrete Anwendungsfälle fehlen. Zusätzlich müssen Entwickelnde erkennen, wann sich welches Sprachelement sinnvoll einsetzen lässt.
Eine Idee ist, dass Sie kleine Schulungsaufgaben vorgeben und diese von Entwickelnden lösen lassen. Damit Sie diese nicht kontrollieren müssen, bietet es sich an, die Ergebnisse der Aufgaben automatisiert durch Unit-Tests prüfen zu lassen. Auf diese Weise bekommen die Lernenden schnell und direkt eine Rückmeldung zu ihren Bemühungen.

Meine Idee ist die Folgende:

• Sie erstellen ein Interface mit Übungsaufgaben. Die Aufgabenstellung können Sie mit Hilfe von ABAPdoc erstellen.
• Sie erstellen eine globale Testklasse, in der Sie die Ergebnisse der Übungsmethoden mit Hilfe von Unit-Tests überprüfen.
• Die Lernenden erstellen eine Klasse (mit dem eigenen Namenskürzel), in der sie das Interface mit den Übungsaufgaben implementieren und die Aufgaben mit entsprechendem Coding lösen.
• In der Klasse wird eine Testklasse erstellt, die von der globalen Testklasse erbt. Auf diese Weise werden die Unit-Tests für die Klasse ausgeführt.

Die Aufgaben können nach und nach erweitert und verfeinert werden. Für verschiedene Bereiche können Sie unterschiedliche Klassen mit entsprechenden Aufgaben definieren.

1.1 Interface mit Übungsaufgaben erstellen

1.2 Klasse mit Musterlösungen erstellen

Sie müssen eine Klasse erstellen, die das Interface mit den Übungsmethoden implementiert. Diese benötigen Sie, um sicherzugehen, dass die globale Master-Testklasse korrekt funktioniert.

1.3 Test-Master erstellen

Erstellen Sie eine globale Testklasse, die Methoden mit entsprechend sinnvollen Unit-Tests enthält.
Definition der Klasse.

Die Definition der Test-Masterklasse enthält Testmethoden. Diese müssen in der PROTECTED SECTION untergebracht werden, um die Methoden an die lokale Testklasse der Übungsklasse zu vererben. In der Methode SETUP wird eine Instanz der zu testenden Klasse erzeugt. Hierfür wird die bereits erstellte Klasse mit den Musteraufgaben benötigt. Die Instanzvariable CUT (kurz für „Code Under Test“) enthält die Referenz auf die Musteraufgabenklasse.

1.3.1 Implementierung der Klasse

In der Implementierung der Test-Masterklasse werden die Werte, die die Musterlösung erzeugt, geprüft. Dies geschieht in der Regel mit Hilfe der Methode CL_ABAP_UNIT=>ASSERT_EQUALS.

Je komplizierter die Aufgaben sind, desto umfangreicher müssen die Unit-Tests sein, um die Richtigkeit der Ergebnisse sicherzustellen.

1.4 Unit-Tests „scharf schalten“

Normalerweise werden Unit-Tests in dem dafür vorgesehenen Bereich der Klasse „Test classes“ mit lokalen Testklassen erstellt. Wir gehen jetzt leicht anders vor und erstellen nur den Bereich der Testklasse, der nicht von der Master-Testklasse abgedeckt wird:

• Definition der lokalen Testklasse mit Vererbung von der Master-Testklasse
• Definition der Instanzvariablen CUT mit der aktuellen Klasse mit den Musterlösungen
• Initialisierung der Instanzvariablen CUT

1.5 Was müssen Übende tun?

Jeder, der sich an den Übungen beteiligen möchte, geht so vor, wie in „Interface mit Übungsaufgaben erstellen“ und „Unit-Tests scharf schalten“ beschrieben. Der Name der Klasse sollte einerseits den Übungsbereich“ (in diesem Beispiel VALUE) enthalten, als auch das eigene Namenskürzel. Auf diese Weise haben alle Teilnehmenden einen eigenen Übungsbereich.

Zusätzlich haben alle ihre eigene Musterlösung, auf die sie bei Bedarf zurückgreifen können.

Mit etwas mehr Aufwand könnten die Übungsklassen automatisch mit Hilfe des Funktionsbausteins SEO_CLASS_CREATE_COMPLETE angelegt werden. Die Übenden müssten dann nur die zu kopierende Klasse auswählen und ihr Namenskürzel angeben. Den Rest könnte das Programm erledigen.

2. Sourcecode

Der Sourcecode für einige Beispiele kann auf der Inwerken-Github-Seite mit Hilfe von abapGit installiert werden.

Fragen? Einfach schreiben an sapentwicklung@inwerken.de .

Website Promotion

Website Promotion

Inwerken AG

Im Januar 2000 nahm Inwerken (vormals COMbridge GmbH) die Geschäftstätigkeiten in Hannover auf. Die Mission: Eine professionelle und unternehmensnahe SAP-Beratung, um die Arbeit anderer Menschen zu erleichtern. Heute bietet das Unternehmen SAP-Beratungs- und Entwicklungs-Lösungen inkl. Basis-Infrastruktur, Service und Support, Strategie- und Unternehmensberatung sowie IT-Leistungen für mittelständische Unternehmen. Darüber hinaus Projektmanagement und IIoT-Logistik-Lösungen mit der Tochtergesellschaft WSN Technologies AG. Branchenübergreifend unterstützen derzeit rund 80 Expertinnen und Experten sowohl onsite als auch remote, national und international angesiedelte Kunden.

Weitere Informationen finden Sie hier:
www.inwerken.de
www.karriere.inwerken.de
www.digitalisierung.inwerken.de

Firmen-Standorte: Isernhagen (Firmenhauptsitz), Berlin, Braunschweig, Hamburg, Rudolstadt, Stuttgart. Geschäftsführung: Frank Bachmann (Gründer und Vorstandsvorsitz), Rudolf Jost, Holger Lexow. Aufsichtsrat: Gunnar Menzel

The publisher indicated in each case (see company info by clicking on image/title or company info in the right-hand column) is solely responsible for the stories above, the event or job offer shown and for the image and audio material displayed. As a rule, the publisher is also the author of the texts and the attached image, audio and information material. The use of information published here is generally free of charge for personal information and editorial processing. Please clarify any copyright issues with the stated publisher before further use. In case of publication, please send a specimen copy to service@pressebox.de.
Important note:

Systematic data storage as well as the use of even parts of this database are only permitted with the written consent of unn | UNITED NEWS NETWORK GmbH.

unn | UNITED NEWS NETWORK GmbH 2002–2024, All rights reserved

The publisher indicated in each case (see company info by clicking on image/title or company info in the right-hand column) is solely responsible for the stories above, the event or job offer shown and for the image and audio material displayed. As a rule, the publisher is also the author of the texts and the attached image, audio and information material. The use of information published here is generally free of charge for personal information and editorial processing. Please clarify any copyright issues with the stated publisher before further use. In case of publication, please send a specimen copy to service@pressebox.de.