Neues ABAP (ab Release 7.40)

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

Siehe ABAP.

Mit dem Netweaver Relase 7.40 sind viele neue ABAP-Funktionen hinzugekommen und wurde vor allem für HANA optimiert. Version 7.40 wurde 2012 veröffentlicht.

HANA breitet sich aktuell schnell in der SAP-Welt aus.

Vorteile neue ABAP-Funktionen

  • Viele ABAP-Funkionen sind deutlich kompakter geworden und verdichten Befehle, die vorher mit relativ vielen Codingzeilen programmiert werden mussten.
  • Mit HANA ist die Datenbank deutlich schneller geworden. Was vorher aus Performancegründen mit Selects und oftmals auf dem Applikationsserver mit internen Tabellen programmiert wurde, kann heute mit HANA oftmals mit wenigen Befehlen der Datenbank zur Selektion übergeben werden und das kann gegenüber der alten Programmiertechnik sehr große Performancevorteile bringen.

Kritik an neuen ABAP-Funktionen

  • Viele ABAP-Funkionen sind deutlich kompakter geworden und verdichten Befehle, die vorher mit relativ vielen Codingzeilen programmiert werden mussten. Das kann jedoch auch ein Nachteil sein, wenn das Coding nicht wie erwartet funktioniert. Das Coding ist dann nur eingeschränkt zu debuggen. Vorher konnten die einzelnen Zeilen debuggt werden. Jetzt ist es oft nur ein komprimierter Befehl und dieser kann auch nur als 1 Schritt ausgeführt und debuggt werden.
  • Es gibt große Unterschiede wie ABAP-Entwickler diese neuen Funktionen nutzen. Manche verfolgen die neuen Möglichkeiten von neuen ABAP-Releases und versuchen diese in ihr eigenes Coding zu übernehmen. Andere ABAP-Entwickler sind der Meinung “Warum soll ich die neuen ABAP-Funktionen lernen, wenn ich mit den alten ABAP-Funktionen auch alles programmieren kann ..?!” Eine durchaus nachvollziehbare Meinung. Aber man stösst dann auf Schwierigkeiten, wenn ein ABAP-Entwickler die neuesten ABAP-Funktionen nutzt und dann das Projekt verlässt. Dann müssen andere SAP-Entwickler seine Programme betreuen und können den Entwickler meist auch nicht mehr fragen, wenn der nicht mehr im Projekt ist. Wenn die Entwickler im Projekt nicht erfahren sind mit den neuen ABAP-Funktionen, kann das Verständnis der ABAP-Funktionalität und die korrekte Anpassung des Codings sehr schwierig werden.

Abwägung und Handlungsempfehlung

  • Manche Befehle sind sehr elegant, vereinfachen die Programmierung und sind oftmals performanter als die klassische ABAP-Programmierung.
  • Jeder Entwickler sollte sich mit den neuen ABAP-Funktionen beschäftigen. Mindestens schon deshalb, weil Kollegen diese neuen ABAP-Funktionen nutzen und man dann mit ihrem fortgeschrittenen Coding zurechtkommen muss. Ich habe im Projekt die Probleme gespürt, wenn Kollegen eine Vielzahl dieser neuen Funktionen nutzen, dann nicht mehr im Projekt sind und andere Kollegen, die mit dieser neuen Syntax nicht vertraut sind, dieses Coding warten müssen.
  • Es ist unrealistisch und nicht sinnvoll den aufgeschlossenen SAP-Entwicklern die Nutzung der neuen ABAP-Funktionen zu verbieten. Aber sie sollten darauf achten, dass das neue Coding noch lesbar bleibt und im Zweifel komplexe ABAP-Befehle auch ausführlich kommentieren im Coding. Es ist hier auch Aufgabe des Kunden gelegentlich das Coding der Entwickler zu überprüfen und dann auch entsprechend Druck auf die Entwickler zu machen ihr Coding leserlich zu schreiben und gut zu dokumentieren.
  • Jeder Entwickler sollte sich bemühen das neue Coding zu verstehen und es dann auch da einsetzen, wo es die Entwicklung beschleunigt und das Coding noch lesbar ist. Siehe hierzu https://www.abapforum.com/forum/viewtopic.php?f=2&t=20837.
  • Es ist nicht möglich diese neuen ABAP-Funktionen in seinem Gesamtumfang schnell zu lernen. Dafür sind es zu viele. Aber man kann die Funktionen nach und nach lernen, Dokumentationen und Bücher lesen, über neue ABAP-Befehle von Kollegen nachdenken, die neuen ABAP-Befehle debuggen, was sie bewirken und die wissenden Kollegen vor Ort fragen. Fast alle Externen sind nur eine begrenzte Zeit in einem Projekt und das sollte den internen Entwicklern bewußt sein, dass diese meist irgendwann die Programme der externen Entwickler warten müssen. Nicht immer gibt es gibt es eine Vorwarnzeit oder eine geordnete Übergabe, wenn SAP-Entwickler das Projekt verlassen.

Der Schlüsselbefehl Select im neuen ABAP

Prädikatfunktionen

Prädikatfunktion LINE_EXISTS

Prädikatfunktion LINES()

Verkettungsfunktion CONCAT_LINES_OF()

Instanz Klasse erzeugen mit NEW

Der Schlüsselbefehl Read table im neuen ABAP mit Tabellenausdrücken

LOOP AT im neuen ABAP mit GROUP BY

Interne Tabellen und Strukturen füllen im neuen ABAP

Move-Corresponding und Corresponding

Konstrukturausdrücke

Konstruktorausdruck COND

Konstrukturausdruck SWITCH

Web-Links