当前位置:   article > 正文

【SAP自动化】(1)自动登录_python 写一个自动登录sap脚本

python 写一个自动登录sap脚本

前言

最近,接触的项目需要自动化操作SAP,所以对SAP的自动化脚本进行调查了。整理了一些函数,用于创建SAP Session和自动化登录。

实用函数

项目中使用的是Python语言,如果需要其他语言的版本可参考这里的函数。

创建SAP Session实用函数

import time
from contextlib import contextmanager

import pythoncom
import pywintypes
import win32com.client as client


LANGUAGES_WINDOW_TITLES = {
   
    "EN": {
   
        "MULTIPLE_LOGONS": "License Information for Multiple Logons",
        "COPYRIGHT": "Copyright",
        "CHANGE_PASSWORD": "SAP"
    },
    "ZH": {
   
        "MULTIPLE_LOGONS": "多次登录许可证信息",
        "COPYRIGHT": "版权",
        "CHANGE_PASSWORD": "SAP"
    },
    "JA": {
   
        "MULTIPLE_LOGONS": "多重ログオンに関するライセンス情報",
        "COPYRIGHT": "著作権",
        "CHANGE_PASSWORD": "SAP"
    }
}


def create_connection(*, description="", mandt="", name="", password="", language="EN"):
    """
    创建一个新的SAP服务器连接,并打开一个客户端窗口。

    :param description: 登录描述字符串
    :param mandt: 集团
    :param name: 用户名
    :param password: 密码
    :param language: 客户端语言
    :return: 返回SAP GuiConnection对象
    """
    pythoncom.CoInitialize()
    try:
        sapgui = client.GetObject("SAPGUI")
    except pywintypes.com_error as _:
        pythoncom.CoUninitialize()
        raise RuntimeError("检测到SAP客户端没有启动, 请启动SAP客户端后重试。")

    try:
        application = sapgui.GetScriptingEngine
        connection = application.OpenConnection(description, True)
    except pywintypes.com_error as 
  • 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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/651272
推荐阅读
相关标签
  

闽ICP备14008679号