zoukankan      html  css  js  c++  java
  • python 连接SAP 代码

    def Main():
        sap_app = r"C:Program Files (x86)SAPFrontEndSAPguisaplogon.exe"
        subprocess.Popen(sap_app)
        time.sleep(1)
        flt = 0
        while flt == 0:
            try:
                hwnd = win32gui.FindWindow(None, "SAP Logon 750")
                flt = win32gui.FindWindowEx(hwnd, None, "Edit", None)
            except Exception as e:
                time.sleep(0.5)
    
        win32gui.SendMessage(flt, win32con.WM_SETTEXT, None, "IR2-ERP Integration UAT")
        win32gui.SendMessage(flt, win32con.WM_KEYDOWN, win32con.VK_RIGHT, 0)
        win32gui.SendMessage(flt, win32con.WM_KEYUP, win32con.VK_RIGHT, 0)
        time.sleep(0.1)
    
        dlg = win32gui.FindWindowEx(hwnd, None, "Button", None)  # 登陆(0)
        win32gui.SendMessage(dlg, win32con.WM_LBUTTONDOWN, 0)
        win32gui.SendMessage(dlg, win32con.WM_LBUTTONUP, 0)
    
        SapGuiAuto = win32com.client.GetObject("SAPGUI")
    
        if not type(SapGuiAuto) == win32com.client.CDispatch:
            return
    
        application = SapGuiAuto.GetScriptingEngine
        if not type(application) == win32com.client.CDispatch:
            SapGuiAuto = None
            return
    
        connection = application.Children(0)
        if not type(connection) == win32com.client.CDispatch:
            application = None
            SapGuiAuto = None
            return
        time.sleep(2)
    
        flag = 0
        while flag == 0:
            try:
                session = connection.Children(0)
                flag = 1
            except:
                time.sleep(0.5)
    
        if not type(session) == win32com.client.CDispatch:
            connection = None
            application = None
            SapGuiAuto = None
            return
        session.findById("wnd[0]/usr/txtRSYST-BNAME").text = "WANG"  # 此次放入您的SAP登陆用户名
        session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = "Wxz"  # 此次放入您的SAP登陆密码
        session.findById("wnd[0]").sendVKey(0)
    
    
    if __name__ == "__main__":
        Main()

    标黄的地方是需要自己改的

  • 相关阅读:
    [JSOI2008]Blue Mary开公司[李超线段树]
    线段树分治
    满汉全席[2-SAT]
    「一本通 3.5 练习 5」和平委员会
    2-SAT问题
    2019/04/06 BJ省选模拟DAY1
    构造题【随时更
    文本编辑器vim/vi——命令模式
    指令——cat
    指令——history
  • 原文地址:https://www.cnblogs.com/JackeyLove/p/15152026.html
Copyright © 2011-2022 走看看