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