Funktion |
Mit der
GetGridValues-Anweisung
können Sie Zellen eines SAP Grid Controls lesen.
Alternativ, aber
komplizierter ist das Lesen von Grid Zellen mit SAP GUI Scripting. Dazu
ist allerdings nötig, dass das SAP GUI Scripting in SAP eingeschaltet
ist, was bei GetGridValues
nicht erforderlich ist. GuiXT
nutzt intern die Benutzeraktion "Strg+C" und stellt den Inhalt dann aus
dem Windows Clipboard in die einzelnen Variablen. Das Windows Clipboard
wird vor der Aktion gesichert und danach wieder hergestellt. |
Beispiel 1 |
GetGridValues
selectedCells="gx"
In die Variablen
V[gx.i.k]
werden die Inhalte der selektierten Zellen gestellt. Dabei ist
i=1,2,3,... die Zeilennummer und k=1,2,3,... die Spaltennummer.
|
Beispiel
2 |
//
InputScript
Enter
"/niw38"
Screen
RIAUFK20.1000
// optionally: set parameters for selection
// start selection
Enter
"/8"
Screen
SAPLSLVC_FULLSCREEN.0500
GetGridValues
-prepare
Enter
"/5"
-visible
// Select all
Screen
SAPLSLVC_FULLSCREEN.0500
GetGridValues
selectedCells="iw38grid"
selectedRowCount="r"
// Test
message
Message
"&V[r]
rows selected"
-statusline
Enter
"/N"
|
Format |
GetGridValues
selectedCells="name"
|
Optionen |
selectedRowCount= |
In die angegebene
Variable wird die Anzahl der selektierten Zeilen gestellt
|
-prepare |
Falls das Grid die Funktion anbietet, alle Zeilen zu selektieren
(über Tastaturbefehl Strg+A oder Funktion =&ALL oder F5 ), sind
zwar alle Zeilen markiert, das Grid Control hat im Fall sehr
vieler Zeilen aber noch nicht alle Inhalte aus der SAP Anwendung
geladen. Durch -prepare
wird einmal durch das Grid geblättert, sodass danach die Inhalte
vollständig zur Verfügung stehen.
Falls in dem Grid nur jeweils eine einzige Zeile selektierbar
ist, benötigen Sie kein
-prepare.
Zwischen
GetGridValues
-prepare
und
GetGridValues
selectedCells=
ist mindestens eine
Screen-Anweisung
erforderlich.
Bitte bei Enter hier den Zusatz -visible angeben, andernfalls lädt SAP GUI unter Umständen nicht alle Zeilen. |
&row
und
&col
in
selectedCells= |
Optional kann bei
selectedCells=
ein Name angegeben werden, der "&row" und "&col" enthält, z.B.
GetGridValues
selectedCells="orders.cell.&col.&row"
Die Variablennamen
werden dann wie angegeben gebildet, d.h. &row und &col werden
jeweils durch die Zeilen- und Spaltennummern ersetzt. Das ist
insbesondere dann praktisch, wenn man die Variablen in einer
eigenen Tabelle anzeigen möchte, da bei Angabe von
selectedCells="orders.cell"
i
Zeilen und Spalten vertauscht wären. |
|
Zu beachten |
- Falls Sie damit
rechnen müssen, dass der Benutzer ein eigenes Layout für das Grid
definiert hat, ist
GetGridValues
nicht ohne weiteres
anwendbar, da sich ja ganz andere Spalten in dem Grid befinden
können. Sie müssen entweder organisatorisch sicherstellen,
dass ein bestimmtes Layout (meist wohl das
SAP-Standard-Layout) verwendet wird, oder im InputScript selbst ein
festes Layout setzen, falls es die Transaktion vorsieht (in IW38
z.B. über Parameter Layout).
|
Komponente |
GuiXT
+ InputAssistant |