Mit GuiXT Controls können Sie über das GUI Scripting in VB spezielle SAP GUI Controls wie "grid control" oder "tree control" bearbeiten: Werte lesen oder setzen und das Layout (soweit im SAP GUI Scripting unterstützt) anpassen. Bitte beachten: Es ist dazu erforderlich, dass das SAP GUI Scripting auf dem Server und in SAP GUI eingeschaltet ist. Wir verwenden für den VB-Auruf das Schlüsselwort CallVBAsync statt CallVB, d.h. wir rufen die VB-Funktion asynchron auf. Das ist nötig, weil SAP GUI den Bildschirm inklusiv der speziellen Controls noch nicht aufbaut, solange das GuiXT Script abläuft, da das Script das Layout abweichend vom SAP-Standard definieren kann. Auch bei
VB-Aufrufen im InputScript benötigen wir den asynchronen Aufruf
CallVBAsync, wenn wir auf die SAP Controls zugreifen wollen, da
die Anweisungen des InputScripts jeweils ablaufen, bevor SAP GUI den
Bildschirm aufgebaut hat. |
||
Als Beispiel blenden wir in Transaktion MM60 (Materialliste) eine Drucktaste "Material anzeigen" ein. Der Benutzer kann im "grid control" ein Material auswählen und dann durch einen Klick auf die neue Drucktaste die Transaktion MM03 (Material anzeigen) für die selektierte Materialnummer aufrufen:
Wir verwenden das folgende GuiXT Script: if Q[Transaction=MM60]Pushbutton (toolbar) "Display material" process="material_display.txt" endif Das InputScript "material_display.txt" ruft eine VBScript-Routine auf: CallVBAsync utilities.material.material_list_display_singleIn der VB-Routine "material_list_display_single" lesen wir die selektierte Materialnummer und starten Transaktion MM03 in einem neuen Modus, wobei wir ein zweites InputScript aufrufen:
Das nun aufgerufene InputScript "MM03_display_single.txt" zeigt den Materialstammsatz an: Parameter MATNR// initial screen of MM03 Set F[RMMG1-MATNR] "&U[MATNR]" Enter /5 // select a view Set cell[Table,0,1] "X" Enter
|