Download und Upload von ALV-Layouts

Zielgruppe

 SAP-Berater, SAP-Betreuer und SAP Key-User

Zusammenfassung

Ich stelle einen kostenlosen Report für Download und Upload  von ALV-Layouts zur Verfügung.

Motivation

Im SAP-Standard ist es möglich, benutzerunabhängige ALV-Layouts zu transportieren. Man kann zum Beispiel Layouts im jeweiligen ALV über „Layout verwalten“ und „Transportieren…“ in einen Customizing-Transport aufnehmen, um sie in das Zielsystem zu transportieren. Das Kopieren von ALV Layouts von einem Mandanten in einen anderen desselben Systems ist ebenfalls möglich.

Nun hat man aber immer wieder die Notwendigkeit, ALV-Layouts in ein System zu kopieren, zu dem ein Transport nicht praktikabel ist.

Dafür habe ich keine existierende Lösung gefunden, weder im SAP-Standard noch über Business Configuration Sets oder abapgit. Codingfragmente aus Internetsuchen zu dieser öfter auftauchenden Fragestellung fand ich nur sehr bedingt hilfreich.

Daher habe ich einen Report entwickelt und stelle ihn auf Github kostenlos und frei verwendbar (über die sogenannte MIT-Lizenz) zur Verfügung.

Der Report ist konservativ ohne Verwendung neuerer ABAP-Sprachelemente realisiert, um ihn in allen gängigen Releases von SAP ERP und SAP S4/HANA verwenden zu können. Getestet habe ich ihn in ERP 6.0 (SAP APPL 6.05 und 6.17) und in S/4HANA 2020 (S4CORE 105). Originalsprache mit Default-Texten  ist Englisch. Deutsche Übersetzung ist vorhanden.

Anwendungsfälle

  1. Kopieren von benutzerunabhängigen oder benutzerabhängigen ALV-Layouts von einem System in ein anderes. Die Systeme können unterschiedliche Release-Stände haben.
  2. Backup und Wiederherstellen von ALV-Layouts
  3. Kopieren von ALV-Layouts von einem Report zu einem anderen, zum Beispiel nach Kopieren oder Umbenennen eines kundenspezifischen Reports.

Funktionsbeschreibung

Der Report ZST12_ALV_LAYOUT_UP_DOWNLOAD verlangt einen Programmnamen und einen lokalen Pfad und die Auswahl, ob man Download oder Upload beabsichtigt.

Download (Export in lokale Dateien)

Es werden alle benutzerunabhängige und benutzerabhängige Layouts zum Report ermittelt und zum Download angeboten, auch wenn es zum Report mehreren ALV-Listen mit unterschiedlichen HANDLE gibt. Man muss die verwendeten HANDLE nicht vorab kennen.

Feldkatalog, Layout-Einstellungen, sprachabhängige Beschreibungen sowie Sortier- und Filterkriterien (falls vorhanden) werden pro Layout in jeweils eine Datei exportiert.  Die Dateinamen werden automatisch generiert.

Abbildung 1 – Selektionsbild: Auswahl ALV-Layouts zum Download, hier zum Auftragsinfosystem
Abbildung 2 – Layouts zum Download auswählen
Abbildung 3 – Ergebnisprotokoll Download

Upload (Import aus lokalen Dateien)

Die im ausgewählten Verzeichnis vorhanden heruntergeladenen Layouts werden zum Upload angeboten. Aus dem Inhalt bzw. dem Namen der Datei werden Report und Layout-Identifikation  sowie Download-Datum und Quellsystem ermittelt.

Abbildung 4 – Upload von ALV-Layouts, hier in das Auftragsinfosystem
Abbildung 5 – Auswahl der im lokalen Verzeichnis gespeicherten Layouts zum Upload
Abbildung 6 – Option zur Aufnahme in einen Transport
Abbildung 7- Ergebnisprotokoll nach Upload

Einschränkungen

  • Keine Konsistenzprüfungen, ob es inhaltlich sinnvoll ist, Layouts in einen abweichenden Report zu importieren
  • Keine Prüfung auf Existenz der SAP-Benutzers, wenn man benutzerabhängige Layouts importiert. Es ist aktuell ist auch nicht implementiert, dass man sie zu einem anderen Benutzer hochladen kann.
  • Wenn beim Import bereits ein Layout mit übereinstimmendem Schlüssel existiert, wird es ohne Warnung überschrieben.

Coding

Der aktuelle Stand liegt auf github und kann von dort per Abapgit, anderen Git-Clients oder manuell heruntergeladen werden:

www.github.com/Martin-Preiss/SAP_ALV_LAYOUT_DOWNLOAD_UPLOAD