Solved

Login to SAP with VBScript

Posted on 2010-09-01
2
17,921 Views
Last Modified: 2012-06-21
Dear Experts,

Could you please have a look at the attached file and code, it is an VBScript file which is able to login to SAP.

My short question would be that how to continue and for example enter a transaction after?

For example the transaction MMBE, how to call through it?

thanks,
set WshShell = CreateObject("WScript.Shell")

 Set proc = WshShell.Exec("C:\Program Files\SAP\FrontEnd\SAPgui\saplogon.exe")

            Do While proc.Status = 0

            WScript.Sleep 100

      Loop

   Set SapGui = GetObject("SAPGUI")

Set Appl = SapGui.GetScriptingEngine



Set Connection = Appl.Openconnection("Test SAP", True)

Set session = Connection.Children(0)

session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "User"

session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "Password11"

session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "E"

session.findById("wnd[0]").sendVKey 0

Open in new window

VBS-SAP-login.vbs
0
Comment
Question by:csehz
2 Comments
 
LVL 42

Accepted Solution

by:
sedgwick earned 500 total points
ID: 33575894
0
 
LVL 1

Author Comment

by:csehz
ID: 33575980
Thanks, yes the key is the Script Recording and Playback menu in SAP R3 pressing firstly the ALT-F12.

So if somebody will need such solution in the future, the attached code is able to go to SE16 and download a table content in excel automatically

thanks,
set WshShell = CreateObject("WScript.Shell")

 Set proc = WshShell.Exec("C:\Program Files\SAP\FrontEnd\SAPgui\saplogon.exe")

            Do While proc.Status = 0

            WScript.Sleep 100

      Loop

   Set SapGui = GetObject("SAPGUI")

Set Appl = SapGui.GetScriptingEngine

 

Set Connection = Appl.Openconnection("Test SAP", True)

Set session = Connection.Children(0)

session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "xxx"

session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "xxxxx"

session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "E"

session.findById("wnd[0]").sendVKey 0

 

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 = "/nMM03"

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/tbar[0]/okcd").text = "/nSE16"

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "MARD"

session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 4

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/ctxtI2-LOW").text = "PLF6"

session.findById("wnd[0]/usr/ctxtI2-LOW").setFocus

session.findById("wnd[0]/usr/ctxtI2-LOW").caretPosition = 4

session.findById("wnd[0]/tbar[1]/btn[8]").press

session.findById("wnd[0]/mbar/menu[6]/menu[5]/menu[2]/menu[2]").select

session.findById("wnd[1]/usr/sub/1/rad[1,0]").select

session.findById("wnd[1]/usr/sub/1/rad[1,0]").setFocus

session.findById("wnd[1]/tbar[0]/btn[0]").press

session.findById("wnd[1]/usr/ctxtRLGRAP-FILENAME").text = "C:\MARD.xls"

session.findById("wnd[1]/usr/ctxtRLGRAP-FILENAME").caretPosition = 11

session.findById("wnd[1]").sendVKey 0

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It is becoming increasingly popular to have a front-page slider on a web site. Nearly every TV website,  magazine or online news has one on their site, and even some e-commerce sites have one. Today you can use sliders with Joomla, WordPress or …
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now