0

コード行でセッション カウント ゼロを取得しています: SAPActive.SapSession = (GuiSession)SAPActive.SapConnection.Sessions.Item(0); 誰か理由を教えてください。

4

2 に答える 2

2

つまり、アクティブなセッションがないということです。接続が確立された後、セッションが作成されます。セッションを作成するには、サーバーでスクリプトを有効にする必要があります。インスタンスへのログを手動で確認する最も簡単な方法は、Alt+F12 を押して、「スクリプトの記録と再生...」が有効になっているかどうかを確認することです。グレー表示されている場合は、サーバー側でスクリプトが無効になっていることを意味します。それらを有効にするには、tcode RZ11 を使用してパラメータ「sapgui/user_scripting」を True に設定します。インスタンスの再起動後もパラメーターをそのままにしておく場合は、tcode RZ10 を使用してパラメーターをプロファイルに追加する必要があることに注意してください。

そのパラメーターを有効にして、次のコードを使用します。

If Not IsObject(application) Then
   Set SapGuiAuto  = GetObject("SAPGUI")
   Set application = SapGuiAuto.GetScriptingEngine
End If

If Not IsObject(connection) Then
	set connection= application.openconnection("SapGui connection Descrition here", True) 'error
End If
If Not IsObject(session) Then
   Set session    = connection.Children(0)
End If
If IsObject(WScript) Then
   WScript.ConnectObject session,     "on"
   WScript.ConnectObject application, "on"
End If

これにより、新しい接続が開き、作業するそれぞれのセッションが選択されます。

于 2015-05-10T08:23:32.793 に答える
1

パラメータ: sapgui/user_srcipting を RZ11 で true に設定しましたか?

于 2013-08-08T09:16:33.227 に答える