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

Klassisches Kanban in S/4HANA – erster Test

Zielgruppe: Kanban-Interessierte mit Grundlagenwissen in SAP PP.

Zusammenfassung:  In diesem Blogbeitrag beschreibe ich ein Testbeispiel für klassisches Kanban in S/4HANA. Die Abschaffung der Lagerortdisposition hatte eine Änderung zwischen ERP und S/4HANA zur Folge und es gibt die Kanbantafel als Fiori-UI5-App. Sonst ist alles wie im ERP.

Seit kurzem habe ich bei MMC einen Zugang zu einem S/4HANA 2020 System gemietet und baue dort auch Beispiele auf. Mein erster Kanban-Test auf S/4HANA soll Fremdbeschaffung eines Schüttguts mit klassischem Kanban abbilden.

Das Material wird in einem Produktionslagerort verbraucht und vom Lieferant direkt zum Produktionsversorgungsbereich (PVB) in Kanban-Behältern zu je 1000 ST geliefert.

Die Beschaffung möchte nicht über den MRP planen, sondern manuell durch Leer-Setzen von Kanban auslösen.

Ich nehme an, dass die Ausgangssituation in diesem System weitgehend dem Stand der SAP-Auslieferung entspricht. Daher nenne ich die verwendeten Daten explizit.

Für Werk 1710 habe ich im Customizing Lagerort 171P und zugehörigen PVB ZST12_01 definiert.

Dann ROH-Material ZST12_BULK erzeugt, als Schüttgut eingestellt und das Dispomerkmal auf ND (Keine Disposition) gestellt. Mehr dazu gleich.

Dann Infosatz zu Lieferant 17300003  angelegt.

Es folgt die Erstellung des Regelkreises mit Transaktion PKMC. Hier war wieder einmal die kleine Hürde zu überwinden, die vermutlich schon viele potentielle Kanban-Nutzer aus der Bahn geworfen hat. Nach Markieren von „Fremdbeschaffung“ sehe ich in der Auswahl der Nachschubstrategien nur einen Eintrag für „Mengenabrufe(MRP, Alerts)“. Warum fehlt der Eintrag für Beschaffung mit Bestellungen? Im Customizing ist er vorhanden. Es liegt daran, dass nur die Einträge angezeigt werden, die – aus SAP-Sicht – sinnvoll sind. Die Einträge für Kanban ohne MRP, wozu Fremdbeschaffung mit Bestellungen zählt, werden gar nicht erst angezeigt.

(Exkurs aus Sicht Softwaredesign: Gut gemeinte Einschränkungen von Auswahloptionen auf die gültigen bewähren sich nur, wenn die Einschränkungen für den Benutzer klar sind. Wenn sie wie hier Ergebnis einer komplexeren Logik sind, ist es besser, die Auswahl zuzulassen und dann eine aussagekräftige Fehlermeldung mit Erklärung der Abhängigkeiten und Einschränkungen zu zeigen. Andernfalls erfährt der Benutzer nicht, wie er sein Ziel durch Ändern der Ausgangssituation erreichen kann und ist frustriert, dass er die erwartete Option nicht findet).  

Hier kommt dazu, dass das Material ja auf ‚ND‘ (kein MRP) gestellt ist. Aus einem mir unbekannten Grund (SAP-Fehler?) wird das Dispomerkmal auf Werksebene aber nicht berücksichtig, sondern erwartet, dass der Ziellagerort des PVB  von der Dispo ausgeschlossen ist.

Nun gibt es aber in S/4HANA die Lagerortdisposition bzw. das Lagerortkennzeichen mit Ausprägung „Lager von der Dispo ausschließen“ nicht mehr. Die Lösung ist also im Vergleich zu SAP ERP unterschiedlich und besteht darin, einen Dispobereich für  den Lagerort anzulegen und das Dispomerkmal in den Dispobereichsdaten des Materials auf ‚ND‘ zu stellen.

Nach Anlage Lagerortdispobereich 1710-171P für Lagerort 171P und Zuordnung zum Material mit Dispomerkmal ND kann ich den Regelkreis für klassisches Kanban mit Bestellung anlegen:

Druck von Kanban-Karten mit der SAP-Voreinstellung ist nach Angabe einer Druckers auch sofort möglich:

In der Verbrauchersicht (PK13N) der Kanbantafel setze ich dann den ersten Kanban auf Leer.

Der Kanban wechselt auf Fehlerstatus mit Meldung „Bei automatischer WE-Abrechnung bitte Steuerkennzeichen eingeben“. Also Steuerkennzeichen im Infosatz nachgetragen und den Kanban per Kanban-Korrektur („Möchten Sie den fehlgeschlagenen Statuswechsel wiederholen?”) korrigiert.

Die Bestellung wurde angelegt:

Voll-Setzen des Kanbans bucht den WE auf Lagerort 171P und nach weiteren Statuswechseln sehen Kanbantafel und MD04 so aus:

Fazit: Keine Überraschungen. Die Kanban-Funktionalität ist bis auf die Änderung durch Ablösen der Lagerortdisposition durch Dispobereich gegenüber SAP ERP unverändert geblieben.

(Das hat sich dann bei weiteren Kanban-Beispielen bestätigt.)

Zum Schluss probiere ich die Fiori-Anwendungen zu Kanban aus:

Ich finde eine neue UI5-Fiori-App zu Kanban, nämlich die Kanbantafel. Diese ist als Einbildtransaktion (also Selektionskriterien, Selektionsergebnis und Detaildaten in gemeinsamen Bild) neu gestaltet und vereinigt Verbrauchersicht (PK13N) und Quellensicht (PK12N), hier angezeigt mit 3 Regelkreisen:

Durch Festlegen und Speichern von persönlichen und öffentlichen Filterkriterien kann man verschiedene Selektionen aus Verbraucher- oder Quellensicht definieren. Die Selektionsmöglichkeiten scheinen denen in den ERP-Transaktionen zu entsprechen, allerdings vermisse ich die Integration der Kanbankorrektur und sehe weniger Einstellungsmöglichkeiten für die grafische Darstellung. Für mein Testbeispiel finde ich die Nutzung des SAP Gui angenehmer, vor allem weil es damit auf meinem Rechner schneller und robuster läuft als mit der Fiori-Oberfläche.