
ABAP Cloud - Transport der Software-Komponente
Wie sieht es eigentlich mit dem Transport von Software Komponenten im ABAP Cloud aus? Benötigst du die Komponente On-Premise auch im Test- und Produktivsystem?
Inhaltsverzeichnis
In diesem Artikel gehen wir der Frage nach, ob wir die Software Komponente auch im Folgesystem brauchen und wir wie diese bereitstellen können. Zum Abschluss schauen wir uns Szenarien an, wo es auch wirklich Sinn macht.
Einleitung
Software Komponenten, kurz SWC, sind zentraler Bestandteil der Entwicklung mit ABAP Cloud. Sie geben dir die Möglichkeit deine Pakete noch einmal sauber zu strukturieren und voneinander abzugrenzen. Dies soll eine saubere Architektur sicherstellen. Dabei solltest du dir selbst die Frage stellen, ob du für TIER-1 nur eine SWC verwenden möchtest oder lieber mehr Komponenten für eine saubere Abgrenzunng verwenden möchtest. Weitere Informationen findest du in diesen Artikeln:
Transport
Legst du eine Software Komponente über den Report RSMAINTAIN_SWCOMPONENTS an, dann wird nach der Anlage kein Transportauftrag von dir verlangt. Grundsätzlich würden wir nun davon ausgehen, dass wir die SWC nur im Entwicklungssystem benötigen. Deshalb hatten wir in der Vergangenheit diese auch nur auf diesen Systemen angelegt, um sie Kollegen zur Verfügung zu stellen.
Grundsätzlich kannst du aber auch eine Software Komponente einem Transport zuordnen, dazu wählst du die zu transportierende Komponente aus und wählst im Menü die Transportaufzeichnung (LKW).
Nach Auswahl des Transports wir ein Eintrag in diesen geschrieben. Das Objekt VERS wird dann mit den anderen Objekten auf die nächsten Systeme gebracht.
Nutzung
Nun gibt es bestimmte Core Data Services oder Klassen, die prüfen ob wir ihnen ein Objekt übergeben, dass vom Typ ABAP Cloud ist und/oder eine Software Komponente vom Typ ABAP Cloud verwendet. Ein Beispiel ist der Core Data Service DDCDS_CUSTOMER_DOMAIN_VALUE. Dieser besitzt einen INNER JOIN auf ARS_OBJECTS_ALL_SW_COMP_SCP, dazu die Dokumentation aus dem View:
Der View prüft also aktiv, ob das übergebene Objekt einer SWC zugeordnet ist, benötigt daher die Konfiguration der Software Komponente im System. Das war erst einmal nur ein Beispiel, wo überall die SWC im System noch verwendet wird, um die Konsistenz von ABAP Cloud sicherzustellen.
Fehler
Im Moment gibt es allerdings einen Bug, dass nach dem Import der Software Komponente im Zielsystem, diese als "Standard ABAP" angelegt wird. Das führt dazu, dass die Komponente dann erst noch auf ABAP Cloud umgestellt werden muss. Dies gilt dann für alle Folgesysteme.
Dafür gibt es den Hinweis 3401565 den du einspielen kannst. Dieser stellt den Report ABAP_LANGU_SWCMP_SYNC zur Verfügung, worüber du die Synchronisierung der Komponente durchführen kannst, um wieder den korrekten Stand im System zu erzeugen. An der Korrektur des Problems arbeitet SAP bereits, um diesen Schritt nicht mehr nötig zu machen.
Fazit
Grundsätzlich funktioniert erst einmal eine Software Komponente, also der Inhalt, auch ohne den Transport der SWC. Allerdings benötigen einige Features und Prüfungen den Eintrag, deshalb ist unsere Empfehlung, den Eintrag immer mit zu transportieren.