Möchte man Daten aus einer SAP Listviewer Liste in GuiXT weiterverarbeiten gibt es grundsätzlich die Möglichkeiten die Daten über die Funktion Liste->Sichern->Datei in eine Datei zu schreiben und diese anschliessend mit dem Befehl Readfile zu verarbeiten.

Es gibt jedoch zum Teil auch Listen, die diese Option nicht anbieten. Man hat dann nur die Möglichkeit die Daten an Excel zu übergeben.

Das hier vorliegende Beispiel ermöglicht es jetzt, die im Excel geöffnete Liste in eine *.txt Datei zu speichern und somit mittels GuiXT weiter zu verarbeiten.

Das Beispiel basiert auf der Anzeige einer Liste von Equipments (IH08).

saplslvc_fullscreen.0500.txt (GuiXT Script)

Pushbutton (Toolbar) "XXL_Download" Process="xxldownload.txt"

xxldownload.txt (InputScript)

Enter "=XXL"      // Tabellenkalkulation

// Excel: Anzahl Schlüsselspalten
Screen SAPLIHIE.0120
Title "Bitte warten, Datei wird über Excel erzeugt"
Enter

// Exportiere Listobjekt nach XXL
Screen SAPLSPO5.0120
Title "Bitte warten, Datei wird über Excel erzeugt"
Set R[Tabelle] "X"
Enter

// Exportiere Listobjekt nach XXL
Screen SAPLSPO5.0130
Title "Bitte warten, Datei wird über Excel erzeugt"
Set R[SPOPLI-SELFLAG] "X"
Enter

Screen SAPMSDYP.0010
Title "Bitte warten, Datei wird über Excel erzeugt"
Set V[path] "&%[TMP]\IH08_Liste.txt"
RemoveFile "&V[path]"
Start "xxldownload.vbs" parameters="&V[path]"
Enter

Screen SAPLSLVC_FULLSCREEN.0500
// Anzeigen der als *.txt gespeicherten Datei welche mit dem TAB getrennt ist
// würde es jetzt erlauben die Daten jeweils mittels Readfile und Delimiter=" " zu lesen
// und weiter im Script zu verarbeiten
Start """C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe""" parameters="&V[path]"
Enter "?"

xxldownload.vbs

Call export_excel(WScript.Arguments(0))

Function export_excel(path)
Const xlCSV = 20
Set XL = GetObject(,"Excel.Application" )
Set S = XL.activesheet
S.SaveAs path , xlCSV ,,,,,,,, True
XL.Quit
End  Function

Empfehlen