点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我有几个问题
1。 每次我想访问特定字段时,是否都可能不遍历对象树?
到目前为止,我使用Object.children.item()等等。 但是,无论如何,SAP似乎遍历了所有要素。
我认为这样做会更好,但分析后似乎没有。
如何避免这种情况? 保留某种缓存以直接访问元素
2。 某些GUI事件无效:命中,错误。
我从Session对象(Session_Hit等)中捕获了它们。
CreateSession和DestroySession可以正常工作。
这个想法与内置记录器相同:侦听用户事件并记录脚本,但是有效载荷不同(试图避免连续会话。FindById...并使元素名称易于阅读)。
提前谢谢!
在Windows的SAP GUI中,"系统"菜单中有"记录器",用于记录您的输入并生成VBScript。
它生成以下几行:
@ stefan.schnell您好Stefan。 看来只有您一个人可以在那帮我:)
你好康拉德,
非常有趣的问题和非常有趣的观点。
1 。 我从来没有做过这样的分析。 这是我的示例:
使用对象而不是使用ID为findById的对象快大约两倍。
哇...
Sandra Rossi ,然后给出答案,将UI元素缓存在对象中。 我不知道另一种方式。
2。 hit事件适用于以下示例。
我无法模拟错误事件,但是我认为此代码示例有效。
如何在运行的脚本中模拟对SAP GUI ActiveX控件的访问拒绝?/p>
让我们知道您的经验。
最诚挚的问候
Stefan
如果您在问题/答案下发表评论并希望定位 除了问题/答案作者以外的其他人,唯一的解决方案是复制/粘贴其超链接的名称,以便该人收到警告(注意:@不起作用)
大家好。 很抱歉收到这么晚的答复。
似乎有误会。
设置ScreenA = Session.FindById(" BLA")
设置ScreenB = Session.FindById(" BLABLA")
ScreenB.DoubleClick进入了第二个屏幕。
ScreenB.MoveBack'进入了第一个屏幕。
ScreenA.Text'对象不再可用,因为SAP已清除引用。
设置ScreenA = Session.FindById(" BLA")'因此,您必须再次查找它,这显然很昂贵。 我经常遇到这种循环操作,您必须在两个屏幕之间切换。
所以最初的问题是,在屏幕切换之间如何保持对ScreenA的引用?
我认为这是主机应用程序(SAP)的局限性,因此应从那里更改。 但是也许存在一些我不知道的解决方法。
https: //people.sap.com/stefan.schnell 您好Stefan。 看来只有您一个人可以在那帮我:)
一周热门 更多>