ABAP Tools - Arbeiten mit Eclipse (Ablage)
Wie kommst du an gelöschten Quellcode in den ABAP Development Tools, obwohl du diesen niemals transportiert hast? Mehr zur Ablage und Arbeitsweise von ADT.
Inhaltsverzeichnis
In diesem Artikel gehen wir auf die Ablage des Quellcodes in den ABAP Development Tools ein und wie du die Ablage für Probleme und andere Dinge nutzen kannst. Der Artikel bezieht sich dabei auf die Arbeit mit einem Windows Rechner.
Einleitung
Die ABAP Development Tools gibt es nun bereits seit über 10 Jahren und mittlerweile sollten diese Standard in der ABAP Entwicklung sein, da auch viele der neuen Features nur noch über ADT zur Verfügung gestellt werden. Dennoch gibt es viele Unternehmen, die ihren Entwicklern keinen Zugang zu den Tools bieten oder die Entwickler selbst kein Interesse haben. Hierzu schauen wir uns die Verwaltung der Ressourcen an und wie du diese effizient für dich verwenden kannst.
Workspace
Wenn du das erste Mal Eclipse startest wirst du nach dem Workspace gefragt. Hierbei handelt es sich um ein Verzeichnis auf deiner Festplatte, wo alle nötigen Einstellungen und Plugins von Eclipse abgelegt werden. Den Dialog kannst du in den meisten Fällen dann auch bestätigen, sodass beim nächsten Start keine Abfrage mehr erfolgt und du immer den gleichen Workspace verwendest.
Schauen wir uns den Workspace einmal genauer an, finden wir hier zwei Ordner, die im ersten Moment unscheinbar wirken.
Über das Verzeichnis "eclipse-workspace -> .metadata -> .plugins" gelangst du zu den installierten Plugins von Eclipse. Die Plugins sind dann jeweils nach Namespace abgegrenzt.
Verwaltung
In diesem Abschnitt schauen wir uns die Verwaltung der Ressourcen durch die ABAP Development Tools an.
System
Dazu legen wir ein neues ABAP System an, dazu gehen wir über "File ->New -> ABAP Project". Hier solltest du Systeme sehen, auf die du Zugriff hast. Normalerweise wird die Konfiguration der SAP GUI herangezogen.
In diesem Fall verwenden wir ein CAL System, welches wir für die Demo verwenden (S/4HANA 2022 Release). Arbeitest du mit Working Sets, dann kannst du das System auch einem bestehenden Set zuordnen.
Ist das System angelegt, wurde ein entsprechender Ordner im Plugin "org.eclipse.core.resources.semantic" angelegt. Dort findest du die systemspezifischen Einstellungen. Diesen Ordner werden wir nun auch entsprechend benötigen.
Objekt
Im nächsten Schritt legen wir uns ein erstes Testobjekt an. Dazu erzeugen wir im System eine ausführbare Klasse, die wir im $TMP Paket anlegen.
Nachdem die Klasse nun angelegt wurde, befindet sich nun im Ordner "S4H_TEST_WORKSPACE -> .adt" weitere Artefakte aus den ABAP Development Tools. Dort finden wir unsere Klasse und eine Konfiguration zur Klasse.
Ändern wir die Klasse nun und Speichern die Änderungen, wir die Datei im Workspace aktualisiert. So bleiben unsere Änderungen auch nach einem Neustart oder Abschluss erst einmal lokal persistiert. Zum Schluss aktivieren wir das Objekt, damit wird es auch im SAP System aktiviert und ist lauffähig.
Versionen
Immer wenn du im Editor auf Speichern gehst, wird eine lokale Historie erzeugt, damit kannst du dir den Arbeitsstand von vor einer Stunde oder Gestern anschauen. Solche Änderungen findest du in der SAP GUI normalerweise nicht automatisch oder sie schreiben dir die Änderungshistorie voll. Über "Rechts-Klick -> Compare with -> Local History" kannst du dir die Änderungen anschauen.
Möchtest du dir mehr Änderungen über eine längere Zeit anschauen, dann findest du in den Einstellungen weitere Konfigurationsmöglichkeiten für die lokalen Änderungen.
Wenn du nach den Änderungen suchst, so findest du diese im Plugin "org.eclipse.core.resources". Leider ist die Verwaltungsstruktur nicht so einfach zu lesen, wie die Ablage der Originalressourcen.
Löschen
Zum Abschluss löschen wir die Klasse wieder aus dem System, um das Verhalten der Ablage und des Dateisystems zu testen. Dabei wird der Ordner mit der Klasse aus der Dateistruktur entfernt.
Löschverhalten
Im letzten Schritt hatten wir das Objekt aktiv aus dem System entfernt, dabei wurde die Ressource aus dem System entfernt. Dies trifft allerdings nur auf dieses System zu. In Eclipse haben wir die Möglichkeit das gleiche System unter einem anderen Namen anzulegen. Wenn wir dort das Objekt öffnen, dann wird dieses in unserem Workspace geladen. Löschen wir nun das Objekt aus dem ersten System, dann wird es dort entfernt. Im zweiten System bleibt es auf der Festplatte bestehen und wir kommen so an den letzten Stand des Quellcodes heran.
Das heißt aber auch, dass ein Löschen durch Dritte (anderer Entwickler, Git, fehlgeleiteter Transport), wir immer noch an die Ressourcen herankommen, um den letzten Stand wiederherzustellen. Einem Kollegen bei uns ist dies passiert und damit habt ihr eine Möglichkeit an die Entwicklung zu kommen, vor allem wenn ihr bereits viel umgesetzt habt und noch keine Version im System erzeugt habt.
Hinweis: Wenn also deine Ressourcen aus Versehen aus dem System entfernt wurden und du hast dies nicht aktiv getan, besteht eine große Chance wieder an die Objekte zu gelangen.
Fazit
In diesem Artikel wollten wir auf die Verwaltung der Ressourcen in Eclipse eingehen und wie du daraus vielleicht ein paar Vorteile in Notfall-Situationen gewinnen kannst. Du solltest nun aber auch besser Verstehen, wie das System damit umgeht und wieso du die Dateien auch bearbeiten kannst, wenn das Netzwerk einmal weg ist.