计算作业数并通过VBA循环执行操作

2020-08-24 02:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我一直在尝试基于从SAP...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我一直在尝试基于从SAP提取的数据来自动执行一些报告,我已经能够在VBA中编写一个脚本,该脚本打开SM37来查看后台作业的特定列表,然后按1个1个线轴下载,但 我失败的是,如果Jobs的数量少于我编写的代码,它将失败。

我在问是否有人可以协助我完成以下代码,从而极大地帮助我;

1)登录到SM37并打开一个窗口,该窗口显示了我选择的"后台作业"以计算可见的作业数。

2)VBA代码将遍历后台作业的数量并执行已完成的脚本,该脚本选择后台处理程序并将数据下载到PC

谢谢。

2条回答
代楠1984
2020-08-24 02:44
下面是代码的一小部分,它将运行事务SM37并检索有问题的作业。



 私人Sub btnDCPOSDownload_Click()


 如果不是IsObject(SAPApp)则
    设置SapGuiAuto = GetObject(" SAPGUI")
    设置SAPApp = SapGuiAuto.GetScriptingEngine
 万一
 如果不是IsObject(Connection)然后
    设置连接= SAPApp.Children(0)
 万一
 如果不是IsObject(Session)然后
    设置会话= Connection.Children(0)
 万一
 如果IsObject(WScript)然后
    WScript.ConnectObject会话,"打开"
    WScript.ConnectObject应用程序,"打开"
 万一

 '打开SM37作业监视器以查看作业
 Session.FindById(" wnd [0]")。SetFocus
 Session.FindById(" wnd [0]")。最大化
 Session.FindById(" wnd [0]/tbar [0]/okcd")。Text =" SM37"
 Session.FindById(" wnd [0]")。SendVKey 0
 Session.FindById(" wnd [0]/usr/txtBTCH2170-JOBNAME")。Text =" * POS *"
 Session.FindById(" wnd [0]/usr/txtBTCH2170-USERNAME")。Text =" ####"
 Session.FindById(" wnd [0]/usr/txtBTCH2170-USERNAME")。SetFocus
 Session.FindById(" wnd [0]/usr/txtBTCH2170-USERNAME")。CaretPosition = 5
 Session.FindById(" wnd [0]/tbar [1]/btn [8]")。按


 以下是我需要的部分?
 对于j = 0到行
 行数= Session.FindById(" wnd [1]/usr/???????)。rowCount-1'计算网格中的行数
 下一个j
 

一周热门 更多>