【问题标题】:Why can't I create a silent SAP RFC connection为什么我不能创建静默 SAP RFC 连接
【发布时间】:2020-10-07 21:40:27
【问题描述】:

我想使用 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。

【问题讨论】:

  • 您能描述一下具体的症状吗?发生在哪一行?
  • 如果您有一个打开的 sap.function 连接对象 (myConnection) 并将其放在 VBA 监视窗口中,您会发现只要设置 myConnection.connection.password = "mypassword" myConnection.connection 对象被丢弃。这是在 SAPGUI 7.6 pl4 下。
  • 我遇到了这个问题,并认为使用SAP.Functions 而不是SAP.LogonControl 解决了这个问题。无论如何,您可以尝试删除.Unicode 部分,以防万一吗?如果它不起作用,并且如果您使用 64 位版本的 Office,您是否可以尝试通过编辑 Windows 注册表来将 SAP.Functions(.Unicode) 的 32 位版本委托给 64 位,如 here 解释的那样?
  • 我们已经使用 SAP.FUNCTIONS 和 SAP.FUNCTIONS.UNICODE 有一段时间了。事情从 SAPGUI 7.40 -> 7.50 发生了变化。 SAPGUI 7.50 的连接层建立在 NWRFC 之上,很长一段时间以来,它都不能与消息服务器一起使用(直到 7.50 pl9)。我们使用 MYSAPSSO 票证(门户 SSO)通过 7.60 pl6 连接到 SAP。票不是这个问题。自从 NWRFC 出现以来,必须为消息服务器填写参数。
  • 您没有说您是否有 64 位 Office 版本以及是否尝试在 Windows 注册表中定义 DLLSurrogate。只是看看。我可以在 SAPGUI 7.6 pl1(没有 SSO)中成功地与您的代码进行静默连接。

标签: vba saprfc


【解决方案1】:

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

  1. 使用标准 SAP 登录对话框(又名响亮)并建立连接。 .Logon(0, False)
  2. 创建一个新的连接对象并将其设置为打开的连接。
  3. 退出第一个(大声连接)并将其设置为空。
  4. 填写新连接后(包括大声登录的加密密码),然后我可以执行 .Logon(0, True) 来测试静默登录。

这很好用。它仍然没有给我任何方法将用户的密码字符串直接转换为 SAP 所需的加密密码。尽管如此,这确实证明了静默登录在 7.50+ 下确实有效,这是我最初的目标。

【讨论】:

    猜你喜欢
    • 2018-09-17
    • 2017-05-16
    • 2011-01-24
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多