
ABAP Cloud - CRV Update & TIER-3
Wie kannst du in ABAP Cloud die richtige API für dein Szenario finden und was machst du eigentlich mit TIER-3 in deiner Entwicklung? Mehr Informationen hier.
Inhaltsverzeichnis
In diesem Artikel schauen wir uns die aktuellen Informationen zu Nachfolgeobjekten an und wie du TIER-3 trotzdem sicher und stabil aufbauen kannst.
Einleitung
Über das Cloudification Repository hatten wir bereits letztes Jahr einen Artikel geschrieben. Hierbei geht es um die Möglichkeit an freigegebene APIs zu kommen, die wir für die Entwicklung in TIER-1 benötigen. Weiterhin erhältst du die Möglichkeit stabile APIs für TIER-2 zu finden, die du dann in Wrapper Objekten für ABAP Cloud zur Verfügung stellen kannst.
ABAP Cloud
Wenn du mit ABAP Cloud in deinem System startest, dann wirst du dich im ersten Schritt mit dem 3-TIER Modell auseinandersetzen. Dabei hat jeder Layer eine andere Funktion, um Objekte im System abzubilden. Ziel ist es aber, TIER-1 only zu werden, damit das System Clean Core und Cloud Ready wird. Der Weg dahin wird allerdings für die meisten Kunden nicht einfach werden und du wirst vor allem mit einem großen Anteil auf TIER-3 starten.
TIER-1 (ABAP Cloud)
Im Bereich ABAP Cloud kannst du nur freigegebene APIs der SAP verwenden, diese findest du im System an Hand ihres C1-Contracts. Möchtest du dir eine Übersicht machen kannst du im Cloudification Repository nach weiteren APIs suchen, dies hilft vor allem, wenn du auf einem älteren Release bist, da die Objekte vielleicht schon im System sind, aber noch nicht freigegeben sind.
- Cloudification Repository - Aktuell (Private Cloud / On-Premise)
- Cloudification Repository - Aktuell (Public Cloud)
TIER-2 (API)
In TIER-2 wrappst du Standard Objekte der SAP, die du in TIER-1 verwenden möchtest. In den meisten Fällen gibt es noch keine offizielle API, SAP gibt aber Vorschläge, welche Objekte du nutzen kannst. Im Repository findest du APIs, die du für deine Wrapper verwenden kannst.
Ungeeignete APIs für TIER-2 sind zum Beispiel FORM Routinen, Reports, SAP GUI Logik und andere Arten von Objekten die in ABAP Cloud obsolet sind.
TIER-3 (Classic)
Neu ist das Repository für TIER-3 Objekte. Dabei handelt es sich um eine Sammlung von Objekten, die du in TIER-3 verwenden kannst und die auch in Zukunft stabil bleiben. Entwicklungen in diesem Bereich, die auf diese Objekte setzen, sind in Zukunft immer noch Upgrade stabil.
Unter solche Objekte fällt zum Beispiel auch ddie Klasse CL_GUI_ALV_GRID, da dieser stabil bleiben wird, aber nicht ABAP Cloud fähig ist. Damit können upgradestabile Reports in TIER-3 umgesetzt werden.
Cloudification Repository Viewer
Das Cloudification Repository enthält alle Informationen auf technischer Ebene um den Nachfolger zu einer klassischen API zu finden. Damit kannst du das Repo zum Beispiel im ABAP Test Cockpit (ATC) einsetzen. Wenn du als Entwickler oder Consultant die Information benötigst, ist eine einfachere Oberfläche mit Suche immer besser.
Varianten
Aktuell gibt es den CRV in zwei Varianten, einmal unsere Variante bei der wir versucht haben die Informationen in einer einfachen Liste so kompakt wie möglich zu integrieren. Die zweite Version ist von SAP und verfolgt die Vollständigkeit der Informationen und einen SAP Fiori Stil, um besser in die SAP-Tool-Landschaft zu passen.
Egal für welche Version du dich entscheidest, wirst du in beiden Versionen an die entsprechenden Informationen zu Nachfolgern kommen.
Update
Wir haben noch einmal die interne API des Tools überarbeitet und vereinheitlicht, um alle Repositorys gleich aufzubereiten. In den klassischen APIs findest du oft auch Labels, wenn es um das Thema Remote-Verfügbarkeit und transaktionale Konsistenz geht. Damit erfährst du auch etwas mehr über die Verwendung des Objekts und die Stabilität bei der Anwendung im RAP Kontext.
Mit der aktuellsten Version wurde auch die Classic API für TIER-3 übernommen, sinnvoll wenn du viel im Bereich der klassischen Entwicklung machst und noch nicht mit der Migration auf TIER-1/2 begonnen hast. Je nach Release und FPS solltest du dir auch die anderen Versionen anschauen, wenn du nach verfügbaren APIs im System schaust. Je höher das FPS, desto mehr Objekte wurden wahrscheinlich seitens SAP freigegeben.
TIER-3
Was also mit der klassischen ABAP Entwicklung im System machen? Wenn du frisch mit dem Thema ABAP Cloud im Unternehmen startest, wirst du vor einem riesigen Berg an klassischer Entwicklung stehen. Die gute Nachricht ist, du hast viel Zeit dich um deine Bestandsanwendungen zu kümmern und zu entscheiden, was du in Zukunft damit machst. In diesem Kapitel wollen wir dir noch ein paar Tipps mitgeben, du du weiter vorgehen kannst.
Stabilität
Deine aktuellen Entwicklungen werden weiterlaufen und du kannst in den ersten Schritten prüfen, ob du bereits viele der empfohlenen TIER-3 Objekte verwendest. Damit machst du deine Anwendungen Upgrade stabil und brauchst weniger Sorgen haben, dass nach einem Upgrade etwas nicht mehr funktioniert.
Anpassungen
Im zweiten Schritt kannst du schauen, dass du dich an Best Practices der Software Entwicklung hältst, wenn du neue Funktionen in TIER-3 entwickelst. Sind die Funktionen vom UI entkoppelt, damit du sie leichter auf Cloud Ready Anwendungen migrieren kannst? Sind die Sachen in Objekten gekapselt und testbar geschrieben? Damit erhältst du die Testbarkeit im System und bist schon einmal zukunftssicher.
Zugriffe auf Tabellen solltest du Schritt für Schritt ausbauen und durch Core Data Services austauschen. Damit werden spätere Migrationen nach ABAP Cloud viel einfacher, da diese Zugriffe nicht mehr ausgetauscht werden müssen. Größte Herausforderung hier ist die Anpassung der Feldnamen, da sich diese zur klassischen Tabelle meist stark unterscheiden.
Neue Entwicklungen
Möchtest du neue Anwendungen entwickeln, solltest du vielleicht einen Medienbruch in Betracht ziehen und die Anwendung als Fiori mit ABAP Cloud umsetzen. So wirst du neue Entwicklungen Stück für Stück direkt auf die neue Weise umsetzen und dabei auch viel Lernen. Grundsätzlich können SAP GUI Anwendungen auch ins Fiori Launchpad oder die SAP Build Work Zone gehangen werden, damit beide Anwendungen über einen Einstiegspunkt zugreifbar sind.
Extensibility
Wie solltest du das System erweitern? Versuche vor allem auf BADIs zu setzen, auch wenn diese vielleicht noch nicht Clean Core sind. Diese Methodik ist immer noch besser als eine harte Modifikation oder die Arbeit mit expliziten oder impliziten Enhancements. Die Logik kannst du bereits in eigene Implementierungen in TIER-1/TIER-2 auslagern, damit du eine gewisse Governance über die Inhalte hast.
Governance
Um einen Überblick über die aktuelle Landschaft zu behalten, kannst du mit dem ABAP Test Cockpit Prüfungen aktivieren, die deine Entwickler an freigegebene APIs erinnern und darauf hinweisen. Dabei wird ebenfalls das Cloudification Repository verwendet.
Fazit
Möchtest du in Zukunft mehr Upgrade Stabilität im System erreichen, dann helfen dir auch die Classic APIs im Bereich TIER-2 und TIER-3 weiter. Mit TIER-3 wirst du zwar nicht Cloud Ready werden, hast aber ein stabiles System, auch nach einem Upgrade.