为什么我不能创建静默SAP RFC连接

问题描述

我想使用Excel VBA创建到SAP的静默SAP.FUNCTIONS连接。每当我设置密码时,连接对象都会被破坏。这有可能吗?

Sub Connect_to_SAP()

    Dim myConnection As Object
    Set myConnection = CreateObject("SAP.Functions.unicode")
    
    With myConnection
      .Connection.System = "SID" 'Systemname
      .Connection.client = "800" 'Client
      .Connection.APPLICATIONSERVER = "192.111.222.333"
      .Connection.user = "MYUSERNAME" 'User
      .Connection.Password = "MYPASSWORD" ' <=== after that,myConnection.connection object is trashed
      .Connection.Language = "EN" 'Language
      .Connection.systemnumber = "00" 'Systemnumber
    End With
    
    'Establish connection.
    If myConnection.Connection.logon(0,True) <> True Then Exit Sub
    'System Logoff
    myConnection.Connection.LOGOFF

End Sub

注意:这是在SAPGUI 7.6 pl4下。我们正在使用MYSAPSSO票证(门户SSO)通过7.60 pl6连接到SAP。

解决方法

为了测试静默连接是否在7.60 pl4下正常工作,这是我的步骤。

  1. 使用标准的SAP登录对话框(也称为“大声”)进行连接。 .Logon(0,False)
  2. 创建一个新的连接对象,并将其设置为打开的连接。
  3. 退出第一个(大声连接)并将其设置为空。
  4. 填充新连接(包括大声登录的加密密码)后,我只需执行.Logon(0,True)即可​​测试无提示登录。

这很好。它仍然无法提供任何将用户的密码字符串直接转换为SAP所需的加密密码的方法。尽管如此,这确实证明了无提示登录确实可以在7.50+以上的环境下正常工作,这是我的最初目标。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...