1 pièce(s) jointe(s)
Problème de connexion SAP via VBS
Bonjour à tous,
Je souhaiterais faire un script en VBS pour me connecter automatiquement à SAP et lancer dans la foulée un transaction. Je suis dans une phase d'initiation j'ai collecter quelques info. Si SAP est ouvert et que je lance juste la partie 2 c'est fonctionnel.
En revanche lorsque je lance le script ci-dessous j'ai un message d'erreur qui apparaît en PJ j'ai pourtant bien une variable de connexion qui me permet de me connecter sans identifiants. Si vous aviez une petite idée du point ou j'ai fauté je vous en remercie d'avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| Option Explicit
Dim WSHShell, SAPGUIPath, SID, InstanceNo, WinTitle
Set WSHShell = WScript.CreateObject("WScript.Shell")
If IsObject(WSHShell) Then
SAPGUIPath = "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\"
SID = "AMP"
InstanceNo = "02"
WSHShell.Exec SAPGUIPath & "sapgui.exe " & SID & " " & InstanceNo
WinTitle = "SAP"
While Not WSHShell.AppActivate(WinTitle)
WScript.Sleep 250
Wend
Set WSHShell = Nothing
End If
' [PART2]
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]/usr/cntlIMAGE_CONTAINER/shellcont/shell/shellcont[0]/shell").doubleClickNode "F00072"
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/usr/lbl[37,13]").setFocus
session.findById("wnd[0]/usr/lbl[37,13]").caretPosition = 0
session.findById("wnd[0]").sendVKey 2
session.findById("wnd[0]/usr/lbl[14,3]").setFocus
session.findById("wnd[0]/usr/lbl[14,3]").caretPosition = 0
session.findById("wnd[0]").sendVKey 2
session.findById("wnd[0]/usr/lbl[1,3]").setFocus
session.findById("wnd[0]/usr/lbl[1,3]").caretPosition = day(date)
session.findById("wnd[0]/tbar[1]/btn[48]").press
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").setFocus
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").text = "\\ncys0350\services\Supply_Chain_Footwear\Project\ProductionAuto"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "PFU.XLS"
session.findById("wnd[1]/usr/ctxtDY_FILE_ENCODING").text = "0000"
session.findById("wnd[1]").sendVKey 11 |