SAP Jobsuche bei DV-Treff
jonny2014
  • jonny2014
  • SAP Forum - Neuling Thema Starter
vor 10 Jahre
Hallo Zusammen,

Ich habe da mal ne kleine Frage

ich habe meinen Vbs wie folgt aufgebaut

"ich Schließe bis auf eins alle Sessions"

somit lege ich den Fokus ja auf die geöffnete Sessions fest

dann erfolt eine menge Code ...

und irgendwann muss ich :

eine neue Session öffnen

/o ...TestTransaktion

Dort möchte ich einen Wert auslesen

und genau da liegt das Problem

nach dem öffnen der Session verliert session.findById

jeden Bezug zu beiden sessions

🤬

gibt es hieru eine Lösung ???

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]").sendVKey 2

...

...

...

...

Vielen Dank im voraus

ScriptMan
vor 10 Jahre
Hallo jonny2014,

die sogenannte kleine Frage ist u.U. ein großes Thema. Das hat mich bereits vor Jahren beschäftigt und um weiter zu kommen, habe ich eine eigene Theorie dazu entwickelt:

1. Session = 0 ist immer ansprechbar.

2. Eine neue Session wird durch SAP selbst bestimmt.

Beispiel 1:

Session 0, 1 und 2 sind offen. Nach createSession (/o) lautet die neue Session: 3

Beispiel 2:

Session 0 und 2 sind offen. Nach createSession (/o) lautet vermutlich die neue Session: 1

Um das aber nicht dem Zufall zu überlassen, sondern richtig zu ermitteln, kannst du dir den folgenden Link ansehen:

http://scn.sap.com/thread/1940958 

Es könnte sein, dass du dadurch auch weiter kommst.

Grüße,

ScriptMan

jonny2014
  • jonny2014
  • SAP Forum - Neuling Thema Starter
vor 10 Jahre
Hallo ScriptMan,

haben Sie noch mal die Zeit und lust den Script aufzulösen ?

einige Zeilen sind mir klar, bei einigen hab ich noch Schwierigkeiten

und weiß nicht genau was im hintergrund passiert ?

vielen Dank im voraus