win32com и SAP-GUI - PullRequest
       43

win32com и SAP-GUI

0 голосов
/ 12 ноября 2018

В моем SAP-GUI установлены сценарии и включены сценарии.

Как на этом скриншоте:

sap-gui-config--scripting-enabled

В этом Введение в сценарии графического пользовательского интерфейса SAP в разделе "Шаг 2. Настройка системы SAP" необходимо позвонить в RZ11.

У меня нет прав для вызова RZ11.

Есть ли способ обнаружить это (sapgui / user_scripting включен или выключен) с помощью скрипта?

В данный момент я использую приведенный ниже код, но список подключений всегда пуст:

import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
sapgui = win32com.client.GetObject("SAPGUI")
system = query.get('system')
client = query.get('mandant')
session = False
application = sapgui.GetScriptingEngine
seen = []
for i_conn in range(0, application.Connections.Count):
    seen.append('i_conn=%s session_count=%s' % (i_conn, application.Connections.Item(i_conn).Sessions.Count))
    for i_sess in range(0, application.Connections.Item(i_conn).Sessions.Count):
        session_info = application.Connections.Item(i_conn).Sessions.Item(i_sess).Info
        system_of_session = session_info.SystemName
        client_of_session = session_info.Client
        if system_of_session == system and client_of_session == client:
            connection = application.Connections.Item(i_conn).Children(i_sess)
            session = connection.Children(i_sess)
            break
        seen.append('system=%s client=%s' % (system_of_session, client_of_session))
    if session:
        break

else:
    info_popup('You are not logged into system %s in Client %s! Seen:\n%s' % (
        system, client, '\n'.join(seen)))
    return

1 Ответ

0 голосов
/ 20 мая 2019

Как я знаю, sapgui / user_scripting - это системный уровень = настройка уровня приложения, но не пользовательский уровень. Таким образом, если у вас нет прав на запуск кода RZ11, у вас нет возможности или прав для чтения настроек сервера приложений и, конечно, нет прав для его изменения. Вы должны связаться с администратором вашей базы, чтобы проверить настройки этого приложения с ним. Видите ли, SAP ограничивает возможности сценариев из-за возможной уязвимости, поэтому поддержка сценариев должна быть включена как на стороне клиента, так и на стороне сервера приложений.

...