Mit diesem Beispiel füllen sie den Inhalt eines GRID Controls in GuiXT Variablen ab
Das untenstehende Beispiel basiert auf der Transaktion VA05N (Liste der Kundenaufträge).Durch das drücken des Pushbutton „Grid auslesen“, wird der ganze Inhalt der Liste in die Zwischenablage (Clipboard) übernommen.
Über einen Loop wird mittels des Befehls CopyText jede einzelne Zeile und Spalte verarbeitet und in einzelne Variablen abgefüllt.
Die Variablen sind wie folgt aufgebaut V[VA05N_z_s] wobei z= Zeile und s=Spalte.
Durch den Befehl „Sort“ liessen sich die ganzen Daten entsprechend auch sortieren. Siehe dazu die Dokumentation des Befehls „Sort“.
GuiXT Script für VA05N (saplslvc_fullscreen.0500.txt)
// GuiXT Script um einen GridControl auszulesen // und die einzelnen Zellen an Variablen zu übergeben // 27.11.2010 / Gérald Koehn / Koehn Consulting / www.guixt.ch Pushbutton (Toolbar) "Grid auslesen" Process="Grid_auslesen.txt"
InputScript grid_auslesen.txt
// InputScript um Grid auszulesen // Der Inhalt des Grid wird ins Clipboard übernommen // Anschliessend wird das Clipboard in einen Langtext in GuiXT // übernommen. Über diesen Langtext wird dann geloopt um die Werte // in einzelne Variablen zu übernehmen // 27.11.2010 / Gérald Koehn / Koehn Consulting / www.guixt.ch // List of Sales Orders Screen SAPLSLVC_FULLSCREEN.0500 Enter "/Menu=1,4,3" // Local File... // Save list in file... Screen SAPLSPO5.0110 Set #[8,2] "X" // Radiobutton X In the clipboard Enter Screen SAPLSLVC_FULLSCREEN.0500 // Initialisieren Variablen und Langtext set V[VA05N_*] "" Set Text[VA05N_*] "" // Kopieren Clipboard in Langtext CopyText ToText="VA05N_Liste" -fromclipboard // Abfüllen der einzelnen Variablen set V[i] 1 // Zähler Zeilen von Quelle set V[z] 1 // Zähler Zellen in einzelner Zeile Label VA05N_Liste_lesen CopyText FromText="VA05N_Liste" toString="String" Line="&[i]" if Q[ok] // jetzt lesen wir jede einzelne Zelle der Tabelle set V[z] 1 Label Einzelne_Zelle CopyText FromString="String" toText="String_Einzel" CopyText FromText="String_Einzel" toString="String_Einzel_String" Line="&[z]" Delimiter="|" if Q[ok] set V[VA05N_&[i]_&[z]] "&V[String_Einzel_String]" set V[z] &[z] + 1 goto Einzelne_Zelle endif set V[i] &[i] + 1 goto VA05N_Liste_lesen endif Enter