【问题标题】:How can i run SAP with Python scripting?如何使用 Python 脚本运行 SAP?
【发布时间】:2019-09-17 07:57:02
【问题描述】:

目前我正在研究如何在 stackoverflow 的帮助下使用 python 启动 SAP 脚本,但显然我的 sap 没有打开连接页面 我输入用户名和密码的页面。我相信DCG210 是我的连接名,下面是一张图片,显示我在运行 python 代码后登陆的位置。 另外,如果有人有任何使用 Python 学习 SAP 脚本的链接,我将不胜感激。谢谢!

import win32com.client
import sys
import subprocess
import time


# This function will Login to SAP from the SAP Logon window

def saplogin():

    try:

        path = r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"
        subprocess.Popen(path)
        time.sleep(10)

        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.OpenConnection("DCG210", True)

        if not type(connection) == win32com.client.CDispatch:
            application = None
            SapGuiAuto = None
            return

        session = connection.Children(0)
        if not type(session) == win32com.client.CDispatch:
            connection = None
            application = None
            SapGuiAuto = None
            return

        session.findById("wnd[0]/usr/txtRSYST-BNAME").text = "USERNAME"
        session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = "PASSWORD"
        session.findById("wnd[0]").sendVKey(0)

    except:
        print(sys.exc_info()[0])

    finally:
        session = None
        connection = None
        application = None
        SapGuiAuto = None


saplogin()

【问题讨论】:

  • @wang 这个问题怎么样,已经有解决方案了吗?我遇到了同样的问题

标签: python sap


【解决方案1】:

如果你只需要登录 SAP,你可以使用这个简单的 sn-p 并且根本不需要输入密码

import subprocess
subprocess.check_call(['C:\Program Files (x86)\SAP\FrontEnd\SAPgui\\sapshcut.exe', '-system=DCG210', '-client=100', '-user=USERNAME', '-pw=PASSWORD'])

您的 GUI 脚本只登录到 SAP 并没有做更多的事情,它只是为了编写脚本而编写脚本。

【讨论】:

  • 抱歉,我没有在文件夹中找到名为 sapshcut 的文件。
猜你喜欢
  • 2017-12-24
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多