点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨!
我最近发现了SAP中脚本记录的功能,并发现它非常有用。 我记录了一些我经常使用的脚本,但是当我这样做时,我手动打开了一个新会话并在每个窗口中启动了不同的脚本。 有什么办法可以让我的脚本自动运行所有脚本? 我在论坛上进行了搜索,并找到了一些类似问题的线程,但是由于我对脚本的了解不多,所以我无法将在其他线程中找到的任何示例转换为适合我的脚本。 也许有人可以给我写一个我可以使用的例子?
我想:
1。 运行事务zpm3n并执行
2。 开启新的会话
3。 运行事务cm07并执行
4。 开启新的会话
5。 运行事务IW38并执行
我可能希望为每笔交易提供一些其他输入,但是我认为我可以自己添加。
每个函数都有一个单独的脚本,如果创建一个脚本来逐个运行每个脚本会更容易。
这是我的脚本之一(记录在SAP中),如何重写它以打开新会话并切换到新会话?
这将打开zpm3n并获取我为此交易创建的变体。
-------- START ---------
如果不是IsObject(application)那么
设置SapGuiAuto = GetObject(" SAPGUI")
设置应用程序= SapGuiAuto.GetScriptingEngine
如果结束
如果不是IsObject(连接),则
设置连接= application.Children(0)
如果结束
如果不是IsObject(session)那么
设置会话= connection.Children(0)
如果结束
如果IsObject(WScript)然后
WScript.ConnectObject会话,"打开"
WScript.ConnectObject应用程序,"打开"
如果结束
session.findById(" wnd [0]")。maximize
session.findById(" wnd [0]/tbar [0]/okcd")。text =" zpm3n"
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [0]/tbar [1]/btn [17]")。按
session.findById(" wnd [1]/usr/txtV-LOW")。text =" u_429395"
session.findById(" wnd [1]/usr/txtENAME-LOW")。text =""
session.findById(" wnd [1]")。sendVKey 8
session.findById(" wnd [0]/tbar [1]/btn [8]")。按
----------- END -------------
感谢所有帮助!
Espen
埃斯彭,您好
这并不像看起来那么容易...
如果有一个脚本可以处理所有事务,则它将停止直到每个事务通过所有操作为止。 要在一个脚本中处理所有事务,将需要多线程处理-
在VBS中是不可能的:-)。
前段时间有一篇类似您的帖子……
http://scn.sap.com/thread/3388231
相同的问题-相同的答案.....
嗨,
你们可以签出此页面吗? 我无法理解vbs脚本
https://www.smartspate .com/how-you-can-can-auto-work-in-sap-with-vbscript/
您好Ridhwan,
您不了解其中哪个代码? br>
您也可以复制并粘贴代码或给我们一个更好的问题...
问候
我认为WSF标签 是错的。 据我所见,代码以
开头,如代码所示。我已从链接中复制了代码。
昏暗的currentNode 设置xmlParser = CreateObject(" Msxml2.DOMDocument") '创建XML声明 xmlParser.appendChild(xmlParser.createProcessingInstruction(" xml","版本='1.0'编码='windows-1251'")) 设置SapGuiAuto = GetObject(" SAPGUI") 设置应用程序= SapGuiAuto.GetScriptingEngine 设置连接= application.Children(0) 设置会话= connection.Children(0) WScript.ConnectObject会话,"打开" WScript.ConnectObject应用程序,"打开" '最大化SAP窗口 session.findById(" wnd [0]")。 最大化 枚举" wnd [0]" '枚举'wnd [0]/usr" MsgBox"完成!",VbSystemModal或vbInformation 子枚举(SAPRootElementId) 设置SAPRootElement = session.findById(SAPRootElementId) '创建根元素 设置XMLRootNode = xmlParser.appendChild(xmlParser.createElement(SAPRootElement.Type)) enumChildrens SAPRootElement,XMLRootNode xmlParser.save(" C:\ SAP_tree.xml") 结束子 子enumChildrens(SAPRootElement,XMLRootNode) 对于i = 0到SAPRootElement.Children.Count-1 设置SAPChildElement = SAPRootElement.Children.ElementAt(i) '创建一个节点 设置XMLSubNode = XMLRootNode.appendChild(xmlParser.createElement(SAPChildElement.Type)) '属性名称 设置attrName = xmlParser.createAttribute("名称") attrName.Value = SAPChildElement.Name XMLSubNode.setAttributeNode(attrName) '属性文字 如果(Len(SAPChildElement.Text)> 0)然后 设置attrText = xmlParser.createAttribute("文本") attrText.Value = SAPChildElement.Text XMLSubNode.setAttributeNode(attrText) 万一 '属性ID 设置attrId = xmlParser.createAttribute(" Id") attrId.Value = SAPChildElement.Id XMLSubNode.setAttributeNode(attrId) '如果当前对象是容器,则遍历子元素 如果为(SAPChildElement.ContainerType),则为enumChildrens SAPChildElement,XMLSubNode 下一个 结束子
一周热门 更多>