• 36 User online von 18,863 Mitgliedern
  • 50,386 Beiträge zu 13,865 Themen
  • 36 User online von 18,863 Mitgliedern
  • 50,386 Beiträge zu 13,865 Themen
02196 7066-717
Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Optionen
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline muryyy  
#1 Geschrieben : Montag, 16. Oktober 2017 06:20:02(UTC)
muryyy

Beiträge: 1
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.

Anlieferung Tabelle

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

Nehmen Sie an dieser Diskussion teil! SAP FORUM - SAP Community LoginHier registrieren.

Offline ScriptMan  
#2 Geschrieben : Montag, 23. Oktober 2017 10:28:37(UTC)
ScriptMan

Beiträge: 228
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
Benutzer, die gerade dieses Thema lesen
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.

- Impressum -