如何通过Python代码登录SAP时检查错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Python代码登录SAP时检查错误相关的知识,希望对你有一定的参考价值。

我尝试通过Python登录SAP,但在运行代码后,我收到以下错误

connection = application.OpenConnection("A101.TA2", True) File "<COMObject <unknown>>", line 3, in OpenConnection pywintypes.com_error: (-2147352567, 'Exception occurred.', (1000, 'saplogon', 'SAP Logon connection entry not found', None, 0, 0), None)

登录界面就像这个http://img1.imagehousing.com/0/sap-370961.png

我尝试了A101A101.TA2 A101.TA2 PRD / ERi TEN作为连接名称,都失败了。什么是正确的连接名称?

import win32com.client
import sys
import subprocess
import time

def saplogin():



  path = r"C:Program Files (x86)SAPFrontEndSAPguisaplogon.exe"
  subprocess.Popen(path)
  time.sleep(3)

  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("A101.TA2", True)
  print('5')
  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)




saplogin()
答案

我不使用Python,但我会在连接字符串中使用全名。

例如:

connection = application.OpenConnection("A101.TA2 PRD / Eri TEN", True)

此致,ScriptMan

以上是关于如何通过Python代码登录SAP时检查错误的主要内容,如果未能解决你的问题,请参考以下文章

采购的PO在哪里查询,SAP里的T-CODE是多少 ,然后我想知道如何通过SAP报表检查出采购入库的价格错误,

创建 SAP Fiori Catalog 时遇到的 duplicate 记录的问题分析

VSCode 如何禁用某些格式的代码错误检查(红色波浪线)?

sap创建交货单报错物料只有0片可用

SAP CRM中间件下载equipment时遇到的一个错误

一些通过SAP ABAP代码审查得出的ABAP编程最佳实践