[53242] in SAPr3-news
Re: SAP User Scripting Session unabhängig
daemon@ATHENA.MIT.EDU (Christian Cohrs)
Fri Feb 4 08:10:05 2005
To: sapr3-news@mit.edu
Date: Fri, 04 Feb 2005 14:04:55 +0100
From: Christian Cohrs <ccohrs@acm.org>
Message-ID: <bt7601hqu6oc2ph2lnd8p59poa1hovqf4i@4ax.com>
Hallo Andreas,
eine ähnliche Frage wurde kürzlich im SAP GUI Forum im SDN behandelt.
Das Skript unten geht immer auf die erste Session der ersten
Connection. So richtig gut funktioniert es also nur, wenn nur eine
Session offen ist.
Es gibt 3 Möglichkeiten:
- Drag&Drop auf die gewünschte Session.
- Das Objekt session auf application.ActiveSession setzen. Dann wird
die 'oberste' Session verwendet.
- Explizit im Skript die Connections/Sessions durchsuchen, und
beispielsweise den Fenstertitel überprüfen
(session.findbyid("wnd[0]").text), oder die laufende Transaktion
(session.info.transaction)
Ciao,
Christian
On 9 Oct 2004 05:47:52 -0700, Andreas.Itter@web.de (Andreas) wrote:
>Hallo,
>
>wie kann ich das unten genannte Script (Aufgezeichnet mit SAP User
>Scripting SAPGUI 6.20) so modifizieren, dass es nicht nur in der
>Session abläuft, in der es aufgezeichnet wurde sondern in jeder
>x-beliebigen?
>
>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
>If Not IsObject(session) Then
> Set session = connection.Children(0)
>End If
>If IsObject(WScript) Then
> WScript.ConnectObject session, "on"
> WScript.ConnectObject application, "on"
>End If
>session.findById("wnd[0]").maximize
>session.findById("wnd[0]/tbar[0]/okcd").text = "/nvfx3"
>session.findById("wnd[0]").sendVKey 0
>session.findById("wnd[0]/usr/ctxtVKORG").text = "1100"
>session.findById("wnd[0]").sendVKey 17
>session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").selectedRows="0"
>session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").doubleClickCurrentCell
>session.findById("wnd[0]/usr/ctxtERDAT-HIGH").text = Date
>session.findById("wnd[0]/usr/ctxtERDAT-HIGH").setFocus
>session.findById("wnd[0]/usr/ctxtERDAT-HIGH").caretPosition = 5
>session.findById("wnd[0]").sendVKey 8