SAP腳本錄制工具 Script Recording 簡單介紹


眾所周知,SAP提供了豐富的批處理工具,比如CATT,ECATT,LSMW,BDC等,從而可以批量操作業務數據,避免了大量重復的勞動過程。這些工具無疑都不復雜,開發人員很容易掌握。但是某些時候,如果我們要批量操作一些更為簡單的流程呢,比如某報表A,屏幕參數只支持輸入單個工廠,業務人員需要導出20個工廠的數據進行匯總,並下載到excel里分析,這時候就需要連續執行報表20次。(也許有人會說此時應該增強報表,允許輸入范圍的工廠,但這只是一個有可能發生的想象場景,請大家不要在意。秉只是一時間沒找到更合適的例子。我們完全可以假設這個報表不允許修改,或者像某些公司一樣,傳生產系統的代碼必須要等待很久。)

也許業務人員只用一次,也許以后還會需要,這時候當然可以寫一個程序或者做一個批處理工具去完成,但是都需要一定時間由開發人員完成,麻煩到業務人員會覺得,有這個時間,我自己都能手動做完了。

畢竟人類的本質是復讀機,機械重復是血液中流淌的本能。

有沒有更簡單的方案呢?也許'Script Recording and Playback' 是一個更好的選擇,而且完全可以不依賴於開發人員,當然,有簡單的VBA編程基礎最佳。

從字面意義來看,“腳本錄制和回放”已經完美詮釋了它的功能。接下來我們用一個簡單的例子,來闡述它是怎么工作的。

首先,該功能的入口為:

 

 

 

如果這里是灰色的,那說明功能沒有啟用,請自行解決或者聯系管理員,這里不做贅述。

點擊之后,我們將看到如下彈窗界面。

 

 

 

綠色為‘Playback Script’,用來回放我們的錄制好的腳步。

紅色為“Record Script”,用來錄制腳本。

灰色為停止錄制。

最后的More按鈕,點擊會拓展出一些存儲設置。

界面簡潔地就像是老式收音機一樣。

 

這里基於假設場景,做了一個簡單報表如下,功能很簡單,直接基於輸入的公司代碼hardcode了一條數據作為ALV顯示。

 

 

 

而我們要做的,就是要把公司代碼X001-X020的數據下載到本地。

首先在GUI初始界面打開腳本功能,設置好腳本默認保存路徑,文件名應以.vbs作為后綴。點擊紅色按鈕,開始錄制,此時紅色按鈕變成灰色,而后面的灰色停止按鈕編程橘色(不同界面風格顏色可能不同)。

此時我們進行以下操作,運行SE38,輸入報表名稱,執行,輸入參數X001,執行,點擊左上角List,Export->Spreadsheet, 使用默認格式,選擇文件夾,輸入名稱“數據-X001.XLSX”,保存,

(請注意,此時如果彈出SAP GUI Security的提示,請選擇Remember My Decision->Allow,並重新錄制。我們要保證每次的操作必須完全相同。)

最后依次退出程序到初始界面,點擊停止錄制。

此時錄制已經完成,我們可以從預設的路徑下找到VBS文件。回放之前,我們可以先分析一下生成的VBA代碼。

(.VBS文件可以用文本文檔打開)

 

 

 

代碼主要分成兩部分,即便沒有VBA基礎,我們也可以粗略看懂,第一部分為與GUI的連接,第二部分,則是腳本內容,我們可以發現很多熟悉的東西,比如SE38,X001(我們曾經輸入的參數)等等,我們來運行一遍該腳本(可以雙擊VBS運行也可以用playback),就會發現GUI完美還原了我們之前的操作,而且更快,因為省略了中間的時間。即便你錄制的時候參數輸入花了5秒,生成的腳本也是秒完成的。

當然,在最后一步的時候可能會出問題,因為我們路徑下已經有一個下載好的文件,會多出提示框來詢問是否覆蓋,而我們的簡單腳本顯然並沒有這個功能,如果我們直接修改腳本換個名字,或者把之前下載的文件刪掉,那么該腳本能正常執行到結束,回到初始界面。

 

 

到此為止,我們就已經完成了腳本功能的基本學習,回到預設的場景,如果我們需要這個腳本執行20次,用不同的參數,該怎么辦呢?

顯然,最簡單的辦法就是直接復制第二部分二十遍,改掉輸入參數以及文件名,保存重新執行即可。

如果有VBA基礎,當然會想到更簡單的方法,那就是創建一個內表…這句划掉,創建一個數組,保存好我們的所有X001-X020的參數,然后循環該數組,執行后半部分即可。

當然,報表程序可以不必退出,直接使用新的參數執行,所以我們只需要循環SE38之后以及最后一個F15退出部分即可。

這里就不再花費篇幅了。

最后,執行腳本,完美下載了20個EXCEL文件,在第一個EXCEL中繼續寫VBA代碼讀取其他文件內容,就可以快捷匯總到單獨的sheet進行后續分析。

到此為止,我們已經完成了預設場景的解決方案,並且全部操作不需要一行ABAP代碼,也就是說,這個操作完全可以由業務人員或者模塊顧問來完成。

 

 

這篇文章並不是一個詳盡的教程,它只是完成了一個初步的介紹,希望大家可以多去嘗試,發現更多SAP的妙用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM