You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SAP GUI Scripting读取RZ11参数sapgui/user_scripting的当前值

解决SAP GUI Scripting读取RZ11参数值的问题

你的问题出在两个核心点:

  • 输入参数名后没触发参数值的加载操作,SAP还未拉取到该参数的实际配置值
  • 读取的控件字段错误,ctxtTPFYSTRUCT-TYPE并非存储参数值的控件

修正后的代码

self.session.findById("wnd[0]/tbar[0]/okcd").text = "rz11"
self.session.findById("wnd[0]").sendVKey(0)
# 等待界面加载,也可以用SAP原生等待方法替代time.sleep
time.sleep(2)
self.session.findById("wnd[0]/usr/ctxtTPFYSTRUCT-NAME").text = "sapgui/user_scripting"
# 触发参数值查询:按回车或点击「显示」按钮均可
self.session.findById("wnd[0]").sendVKey(0)
# 等待参数值加载完成
time.sleep(1)
# 读取存储参数值的正确控件
value = self.session.findById("wnd[0]/usr/txtTPFYSTRUCT-VALUE").text
print(value)

关键说明

  1. 触发参数查询:输入参数名后必须执行一次回车(sendVKey(0)),或者点击界面上的「显示」按钮(控件路径为wnd[0]/tbar[1]/btn[8]),SAP才会从系统中查询该参数的当前值并展示
  2. 选择正确控件:参数的实际值存储在txtTPFYSTRUCT-VALUE文本控件中,你之前读取的ctxtTPFYSTRUCT-TYPE仅用于显示参数的名称/类型信息,因此才会输出sapgui/user_scripting而非目标值TRUE

如果偏好点击按钮的方式替代回车,可将触发查询的代码替换为:

self.session.findById("wnd[0]/tbar[1]/btn[8]").press()

内容的提问来源于stack exchange,提问作者alex devassy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 02:15:33