簡體   English   中英

如何使用 Python 腳本運行 SAP?

[英]How can i run SAP with Python scripting?

目前我正在研究如何在 stackoverflow 的幫助下使用 python 啟動 SAP 腳本,但顯然我的 sap 沒有打開連接頁面,即我輸入 USERNAME 和 PASSWORD 的頁面 我相信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()

在此處輸入圖片說明

如果您只需要登錄 SAP,您可以使用這個簡單的代碼段,而根本不需要輸入密碼

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

您的 GUI 腳本僅登錄到 SAP 而不會執行其他操作,它只是用於編寫腳本的腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM