|
Hallo, ich würde mich freuen wenn ihr mir helfen würdet. Habe einen Pushbutton mit GuiXT programmiert und ein InputScript generiert. Bei meinem aufgezeichneten Inputscript mache ich einen Klick in eine Tabelle der sich an dritter Stelle befindet (siehe Bild) und in GuiXT wird die Tabelle als X[CUSTOM_GRID]aufgelistet.  Der beim aufzeichnen generierte Code lautet: item=" 0000000003;OBJTEXT;3;1" event="3"Die Zeile das ich anklicken möchte heißt "Anlieferung". Die Zeile kann sich aber mal auch in der vierten oder zehnten Zeile befinden. Wie kann ich es so programmieren, sodass ich nur Anlieferung anklicken lasse, ohne die Zeile zu verwenden? Ich habe Synactive eine Mail geschrieben und gaben mir einen Rat, nur leider wurde ich ehrlich gesagt nicht schlau draus und bin auch kein wirkliches Genie in Programmierung. Ich würde mich sehr freuen, wenn ihr mir helfen könntet. Mail von Synactive: direktes Durchsuchen des GridControl ginge nur über SAP GUI Scripting. Sie können sich aber die Grid-Werte mit GetGridValues in GuiXT Variablen stellen lassen und dann durchschauen, wo die Anlieferung steht, und dann selbst die Nummer im Item-String entsprechend setzen. Etwas knifflig, sieht aber im Prinzip machbar aus. Einen Namen brauchen Sie bei GetGridValues nicht. Wichtig ist aber, zunächst alle Grid-Zeilen zu selektieren. mit getgridvalues -selectallrows sollte es gehen. Bearbeitet vom Benutzer Montag, 16. Oktober 2017 06:20:36(UTC)
| Grund: Nicht angegeben
|
|
|
|
|
Hallo muryyy,
ähnlich wie bei Savarol kann ich nur mit einem workaround dienen.
z.B.
Anlieferung.txt:
// Infosystem: Verträge ab 26.09.2017 Screen SAPLREIS_GUI_CONTROLLER.0100 Enter control="CONTAINERCTRL.GridViewCtrl" item="&FIND" event="10" // Suchen Screen SAPLSKBH.0841 Set F[Suchbegriff:] "Anlieferung" Enter // Suchen Screen SAPLSKBH.0841 Enter "/12" start "c:\guixt\scripts\Anlieferung.vbs"
Anlieferung.vbs:
If Not IsObject(application) Then Set SapGuiAuto = GetObject("SAPGUI") Set application = SapGuiAuto.GetScriptingEngine End If If Not IsObject(connection) Then Set connection = application.Children(0) End If set session = Application.ActiveSession set myGrid = session.findById("wnd[0]/usr/subSUB_AREA_ROOT:SAPLREIS_GUI_CONTROLLER:0200/subSUB_AREA:SAPLREIS_GUI_CONTROLLER:1000/cntlCC_LIST/shellcont/shell") Zeile = myGrid.currentcellrow myGrid.selectedRows = Zeile myGrid.clickCurrentCell
Selbstverständlich muss man die Suche über GuiXT selbst aufzeichnen. Das Klicken / Doppelklicken auf die gefundene Zeile muss genauso mit SAP GUI Scripting in deiner Umgebung aufgezeichnet werden. Mein Beispiel kannst du nicht 1:1 verwenden. Es dient nur als Vorlage.
Grüße, ScriptMan
|
|
|
|
Das Forum wechseln
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.