java win32com_win32com和SAP-GUI

在没有RZ11权限的情况下,作者尝试通过Java和win32com检查SAP-GUI的用户脚本设置。代码示例展示了如何遍历SAP GUI的连接和会话,但未能成功检测到用户脚本是否启用。问题在于无法获取到有效的连接和会话信息,导致无法判断SAP-GUI的用户脚本状态。
摘要由CSDN通过智能技术生成

我的SAP-GUI安装了Scripting并启用了Scripting .

就像在这个截图中:

d6c260ef-16ed-46ba-ba2a-d4d86c2728db.png

在Introduction to SAP GUI Scripting "Step 2: Setup your SAP System"中你需要拨打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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值