Herunterladen ausgewählter Tabellenzeilen nach Excel

Viele SAP ERP Transaktionen stellen Daten in Tabellenform dar (table control).  In manchen Fällen möchten Anwender diese Daten nach Excel herunterladen, um sie in anderer Form darzustellen, sie zu drucken oder sie weiter zu verarbeiten.

Wir stellen hier eine einfache Methode vor, wie Sie mit Hilfe eines InputScripts eine Exceltabelle aus der SAP ERP Tabelle erstellen können. Die Anwenderin wählt einige oder alle Zeilen der Tabelle aus und ruft dann durch Mausklick auf den entsprechenden Pushbutton das InputScript auf. Das Skript skrollt durch die ganze Tabelle, sammelt alle ausgewählten Zeilen ein und generiert eine xls-Datei. Danach wird die View Anweisung verwendet, um Excel mit dieser Datei aufzurufen. Für diese Vorgehensweise brauchen Sie die beiden Add-ons InputAssistant und Viewer.

Sap Guixt excel1 Herunterladen ausgewählter Tabellenzeilen nach Excel

Transaktion MIR6. Die Anwenderin wählt die Zeilen aus, die Sie in der Excel Tabelle haben möchte. Dann klickt sie auf den Button “Ausgewählte Daten herunterladen”. Das System sammelt alle ausgewählten Daten und startet Excel:

Sap Guixt excel2 Herunterladen ausgewählter Tabellenzeilen nach Excel

Sie benötigen die folgenden zwei Skripte:

SAPMM08N.D0201.txt:
Pushbutton (toolbar) “Ausgewählte Daten herunterladen” “Process=RechnungenNachExcel.txt” 

RechnungenNachExcel.txt:

// Parameter
Parameter Dateiname “C:\Temp\Rechnungen.xls”
// Dateiname für den Download

// Variablen
Set V[absrow] 1  
// Absolute Zeilennummer
Set V[relrow] 1  
// Relative Zeilennummer

Screen sapmm08n.0201
OpenFile “&U[Dateiname]” “-Output”

// Spaltenüberschriften 
Set V[C1] “Belegnummer”
Set V[C2] “Rechnungssteller”
Set V[C3] “Name des Rechnungsstellers”
Set V[C4] “Bruttobetrag”

AppendFile “&U[Dateiname]” C1 C2 C3 C4 

// Start mit der ersten Zeile
Enter “/ScrollToLine=1″ 

label new_screen
Screen sapmm08n.0201 
Set V[relrow] 1

label new_row

// Ist das Ende der Tabelle erreicht?
if V[absrow>&[_listlastrow]] 
  CloseFile “&U[Dateiname]“
  View “&U[Dateiname]“
// Anzeige von Exceldatei mit dem Viewer
  Enter “/ScrollToLine=1″
  Leave
endif

// Ist das Ende des Screens erreicht? 
if V[absrow>&[_listlastvisiblerow]] 
  Enter “/ScrollToLine=&V[absrow]“ 
  goto new_screen
endif

Set V[selected] “&cell[Table,0,&V[relrow]]”

// Ausgewählt?
if V[selected=X]

  Set V[C1] “&cell[Table,Belegnummer,&V[relrow]]”
  Set V[C2] “&cell[Table,Rechnungssteller,&V[relrow]]”
  Set V[C3] “&cell[Table,Name des Rechnungsstellers,&V[relrow]]”
  Set V[C4] “&cell[Table,Bruttobetrag,&V[relrow]]”

  AppendFile “&U[Dateiname]” C1 C2 C3 C4 
endif

Set V[absrow] &V[absrow] + 1 
Set V[relrow] &V[relrow] + 1 

goto new_row

Herunterladen ausgewählter Tabellenzeilen nach Excel