
Unterschied R/3 zu S/4
In diesem Artikel zeigen wir dir die Unterschiede zwischen einem R/3 System und einem neuen S/4 HANA. Auf was sollte man schauen und was ändert sich eigentlich.
Inhaltsverzeichnis
Bevor wir mit den neuen Themen beginnen, sollten wir uns erst einmal die Unterschiede der beiden Systeme anschauen, aber genau so die Gemeinsamkeiten. Hier ist es vor allem wichtig, was die Unterschiede ausmacht, um zu verstehen wieso die Core Data Services besser in einem HANA System funktionieren.
Datenbank
Den größten Unterschied macht die Datenbanktechnologie aus die im System steckt. Ein R/3 System läuft auf Any DB, dass heißt es ist egal welche Datenbank verwendet wird. Die Datenbank liegt dabei auf einer Festplatte und die Daten werden auf Zeilenbasis auf der Datenbank abgelegt. Zugriffe die nicht auf die Schlüsselfelder der Tabelle gehen müssen meist mit einem Sekundärindex optimiert werden, da sonst ein Performanceproblem auftritt, je mehr Daten in der Datenbank sind.
Ein S/4 System verwendet als Datenbank eine HANA Datenbank, eine von SAP entwickelte Datenbanktechnologie. Die Datenbank liegt dabei nicht mehr auf der langsamen Festplatte, sondern im Arbeitsspeicher des Datenbanksservers. Damit sind Zugriff auf die Daten sehr schnell im Gegensatz zum Lesen von der Platte. Die Daten werden zum Großteil spaltenbasiert abgelegt und jede Spalte hat einen eigenen Index, damit entfällt die Optimierung bei Zugriffen.
On HANA
Manchmal findet man Systeme die den Zusatz "On HANA" haben. Dieser Zusatz deutet darauf hin, dass das System bereits eine HANA Datenbank verwendet, die Anwendungen aber noch nicht auf S/4 optimiert sind. Hier kann man bereits die ersten Vorteile der HANA Datenbank auskosten und CDS Views sind ebenfalls schnell.
ABAP
Modernes ABAP ist bereits seit 7.40 möglich und wurde mit jedem Release um neue Funktionen erweitert. Die neusten Funktionen findest du aber nur auf einem S/4 System oder einem ABAP Environment in der Cloud. R/3 wird nicht mehr weiterentwickelt und profitiert damit nicht mehr von den neuen Features (ABAP Unit, CDS Erweiterung, RAP). Deshalb kann es sein, dass wir Beispiele zeigen die auf einem R/3 System nicht mehr möglich sind.
Version
Mit HANA wurden auch neue Versionsnummern vergeben und man orientiert sich an den Jahres und Monatszahlen, so wie es zum Beispiel Microsoft macht. So ist ein Release 1909 das September Release von 2019. Intern findet man zum Beispiel für die ABAP Version aber noch Releases wie SAP_ABA 7.55.
Performance
Im ersten Abschnitt hatten wir erwähnt, dass die Performance kaum noch eine Rolle spielt, wenn wir auf die Daten zugreifen. Ebenso ist die Aggregation von Daten und das Rechnen viel schneller. Damit ergeben sich neue Möglichkeiten und andere Regeln gegenüber einem R/3 System. Wo man bisher die Datenmenge klein halten sollte oder sich erst einmal die Daten ins Programm lesen sollte, um sie dann zu verarbeiten, gilt nun genau das Gegenteil.
In einem S/4 System sollte man vor allem die Datenbank die Arbeit machen lassen und sich das fertige Ergebnis ins Programm lesen. Das Prinzip dahinter ist Code-Pushdown, wir übergeben alle möglichen Operationen, Aggregationen und Abfragen nach unten auf die Datenbank und lesen uns am Ende nur noch das Ergebnis ein. Damit wird der Programmcode übersichtlicher und die Komplexität der Abfrage steigt. Diese Abfragen kann man dann noch in Core Data Services (CDS) auslagern, um den Zugriff innerhalb des Programms klein zu halten und solche Abfragen wiederverwenden zu können.
Fazit
Mit dem Umstieg auf S/4 ändert sich vor allem für dich als Entwickler einiges im Umgang mit dem System und der Datenbank, doch weniger in der ABAP Entwicklung. Programme von R/3 funktionieren hier genau so, vielleicht nur etwas langsamer, wenn sie nicht optimiert sind. Du brauchst dir also keine großen Gedanken beim Umstieg auf S/4 machen.