如何在SAP Logon中自动化重复任务

u91tlkcl  于 2022-10-22  发布在  Go
关注(0)|答案(5)|浏览(280)

我的任务是让办公室里的人每天使用SAP Logon 640执行一些无聊的任务。
大约有30-40个交易需要自动化。
我在SAP自动化上搜索了很多,找到了SAP GUI脚本,但没有找到python、php或java的起点。
如何开始使用python、php或java自动化SAP事务?我甚至不知道我的IT部门需要什么才能开始。

eoigrqb6

eoigrqb61#

我们使用VBScript或C#来自动化任务。使用VBSCcript是最简单的。让SAP GUI记录一个任务,然后它将生成一个vbscript,作为您编码的起点。当你有这个vbscript文件时,你可以把它翻译成其他语言。

ars1skjm

ars1skjm2#

您可以使用Sikuli在SAP Logon中自动化许多任务。它可以识别UI元素并与它们交互。你只需要提供这些元素的图像。SAP Logon中的许多功能都可以通过快捷方式使用,因此您也可以使用它轻松模拟键盘输入。Sikuli可用于Java和Python。

vom3gejh

vom3gejh3#

如果我对你的理解正确,你可以使用JAVA实现计划作业。

9avjhtql

9avjhtql4#

SapGui有内置的录制和回放工具,它为您提供了现成的vbs文件,您可以使用这些文件进行自动化,如果值不变,则每次都可以使用相同的脚本。
您可以在sap gui窗口的主菜单中找到它自定义本地布局(Alt+F12)->脚本录制和播放。

vdzxcuhz

vdzxcuhz5#

尝试Python
我用了这个脚本。

import win32com.client
    import subprocess
    import sys
    import time

    def saplogin():

        try:
            # path to saplogon
            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("ModuleName", 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)
            #**Record Your Script with SAP and paste here**
            print(sys.exc_info())

        finally:
            session = None
            connection = None
            application = None
            SapGuiAuto = None
    saplogin()

相关问题