2016-12-16 127 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