Freitag, 16. November 2012

ALV - Excel Inplace/ Kundeneigenes Excel-Template/ eigene Pivottabelle

Kundeneigene Templates für eine Excel-Inplace Anzeige sind im Prinzip recht einfach zu erstellen.

Als Ausgangspunkt emfiehlt es sich die Standardtemplates sap_mm.xls, sap_om.xls etc. mit dem Report BCALV_BDS_IMPORT_SAP_TEMPLATE in den Kundenmandanten zu kopieren.

Mit der Transaktion OAOR kann man die Templates verwalten und auf den eigenen Rechner kopieren.
Hierzu sind folgende Eingaben zu machen:


Wenn alles geklappt hat dann sieht man Folgendes in Transaktion OAOR (es macht auch Sinn das vor dem Kopieren zu prüfen da sonst Dubletten angelegt werden):




Das Template kann jetzt mit einem Klick auf "Dokument exportieren" auf den Rechner kopiert werden.

Als besonders praktisch hat sich hier sap_mm.xls erwiesen, da es bereits einen Kundenexit für Makros enthält.

Das Template hat folgenden Aufbau:
- Format: "1:1"-Abbildung der Daten,  Summen- und Zwischensummenzeilen mit Interaktionsmöglichkeit (Auf- und Zuklappen), Keyeinfärbungen, etc.
- Header: wie Format plus Umsetzung eines existierenden HTML-Headers vom ALV Fullscreen. Allerdings muss dieser von der Anwendung nach bestimmten Regeln erstellt worden sein
- Pivot: Darstellung der Daten im Pivotformat
- SubN: Summenzeilen der Stufe N
- Rawdata: reine Tabellenanzeige der Daten aus dem Tabellenkörper
- RawHeader: Zeilen des HTML-Headers

Wenn die Änderungen abgeschlossen sind dann läßt sich das Template mit dem Report BCALV_BDS_MAINTENANCE als übergreifendes Customer Template importieren. Die Exceldatei muss dabei CUS_* heissen.



Die Template-Attribute können dann mit OAOR gepflegt werden, allerdings mit Eingabe:



Das hochgeladene Template steht dann allen Reports zur Verfügung in denen Excel inplace angezeigt werden kann.



Weitere Details siehe:
https://service.sap.com/sap/support/notes/548409

Sollte Excel Inplace nicht funktionieren kann:
http://blog.hr-manager.de/2012/05/abap-excel-inplace-in-alv-grid.html

Kommentare:

  1. Sehr ausführlich. Danke.
    Ich kann allerdings das Template nicht importieren. Sind dazu gesonderte Berechtigungen nötig.

    AntwortenLöschen
    Antworten
    1. Vielen Dank. Ja, Sie benötigen das Berechtigungsobject S_BDS_DS mit dem Klassennamen ALVLAYOUTTEMPLATES Klassentyp OT Aktivität 01 Hinzufügen (ggf. auch weitere wie 70 Administrieren).

      Löschen
  2. Danke. Das hat geholfen.
    Ich kann jetzt .xls Datein importieren. Bei .xlsm funktioniert es noch nicht.
    Ich kann die Datei zwar importieren, doch nicht als Ansicht auswählen. Mir fällt dazu auf, dass im OAOR bei Front nichts steht. Bei allen anderen steht hier ein "E". Wie kann ich das denn umsetzen?

    AntwortenLöschen
  3. Hallo, wenn das so ist dann fehlt in Tabelle TOADD der Eintrag für xlsm - Hinweis 1522778 "ALV-View: Templates mit der Endung XLSX nicht auswählbar" behandelt das Problem. Bitte fügen Sie diesen mit SM30 V_TOADD hinzu (nicht mit SE16 wie im Hinweis). Danach müssen Sie Ihr Template neu importieren.

    AntwortenLöschen
  4. Danke. Hat alles funktioniert. Sehr hilfreich.
    Ist das Template dann nur für mich verfügbar oder können das auch andere Nutzer verwenden?

    AntwortenLöschen
  5. Hallo, alle User können das Template verwenden.

    AntwortenLöschen
  6. Habe ich auch schon gemerkt. Telefon klingelt dauernd. Gibt es eine Möglichkeit, ein Standard Layout für alle Anwender festzulegen. SAP wählt anscheinend automatisch das CUS_ template.
    Und danke für alles.

    AntwortenLöschen
  7. Hallo, das tut mir leid. Wenn das Template nicht für alle zur Verfügung stehen soll dann reicht es die Schritte unter "Eigenes template anlegen" hier auszuführen https://help.sap.com/saphelp_470/helpdata/de/d4/a2a138198daa2fe10000009b38f842/frameset.htm.
    Das Template wird dann mit dem Layout gespeichtert. Wenn das Basisrelease passt dann steht in Hinweis 2280232 wie das Standardtemplate festgelegt werden kann.

    AntwortenLöschen