Solved

Login to SAP with VBScript

Posted on 2010-09-01
2
17,518 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
Comment Utility
0
 
LVL 1

Author Comment

by:csehz
Comment Utility
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

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

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 …
When it comes to writing scripts for a Client/Server computing environment it is essential to consider some way of enabling the authentication functionality within a script. This sort of consideration mainly comes into the picture when we are dealin…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

772 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

17 Experts available now in Live!

Get 1:1 Help Now