2016-12-16 264 views
0

我在SAP(PR2)工作,我有一个大型报告,通常需要很长时间(2个或更多小时)才能运行。我必须将这份报告的输出结果放入Excel中,以便在将它带入Access之前进行处理和清理。作为VB脚本的一部分自动登录到SAP

理想的结果是一个脚本,可以在凌晨4点左右自动启动,登录到SAP,运行报告,并在我进来时让结果等着我。简而言之,我缺少第1部分和第2部分,自动启动并自动登录到SAP。

我已经将一个脚本放在一起,可以启动报告,然后根据需要输出结果。这样做的不利之处在于,我直到每天中午才得到结果,这打断了我支持的那些人的工作流程。

我试图在后台运行必要的报告,如其他问题中的建议,但由于报告的大小和SAP内部有限的访问,它以一种对我完全无用的方式出现。

在此先感谢您的帮助。另外,感谢您在以前的问题上给予的帮助:)

PS:作为奖励,如果有人知道如何加密VBscript,那也会有所帮助。

+0

你似乎有一个类似的问题,你接受吗?理想情况下,您需要以更清晰简洁的方式提出问题。目前,这是一个文本的墙,大部分不会阅读为一个长段。我建议你阅读[问]并考虑为特定问题提供[mcve]。 – Lankymart

+0

@ Lankymart-移动了一些东西以避免文字墙。不幸的是,我不知道起点是什么,所以我没有任何可证实的事情来作为问题的一个例子。我想你可以说我正在寻找一个开始点。 –

+0

相关http://stackoverflow.com/q/40429444/692942 – Lankymart

回答

1

使用windows任务计划程序在时间任务中设置每日运行。

VBS不能加密,但可以编码。这只会阻止随便的人摆弄代码,解码脚本可以在网上找到任何想要获得代码的人。

'ENCODE VBS TO VBE 
    Set oFilesToEncode   = WScript.Arguments 
    Set oEncoder    = CreateObject("Scripting.Encoder") 
    For i      = 0 To oFilesToEncode.Count - 1 
     file     = oFilesToEncode(i) 
     Set oFile    = fso.GetFile(file) 
     Set oStream    = oFile.OpenAsTextStream(1) 
     sSourceFile    = oStream.ReadAll 
     oStream.Close 
     sDest     = Encoder.EncodeScriptFile(".vbs",sSourceFile,0,"") 
     sFileOut    = Left(file, Len(file) - 3) & "vbe" 
     Set oEncFile   = fso.CreateTextFile(sFileOut) 
     oEncFile.Write sDest 
     oEncFile.Close 
    Next 
    WScript.quit 

我使用软件'exescript'转换为EXE。似乎工作对我来说OK ...

+0

感谢您的帮助。不幸的是,任务调度程序已被锁定,可能是一个很好的但错误的IT部门。由于当前的用户策略,“MMC无法创建管理单元”,因此出现错误...还有其他方法吗?我想我可以在剧本中写几个小时的停顿,但这不是我首选的方法。我还发现exescript不适用于我。 –

+0

也许这篇文章将有助于:http://stackoverflow.com/questions/19762371/vb-script-to-check-if-system-is-between-a-certain-time你可以用它来运行你的脚本几小时? – BertB