【ABAP】通过SE30来测试程序的执行效率
? ? ? ? ABAP程序開發完成之后,必須保證程序運行的效率。如數據庫的查詢、內表中循環的使用次數,勢必都會影響整個程序的執行速度。SAP提供了程序性能分析工具,相關的事務代碼為SE30,通過ABAP程序運行時間的分析來協助用戶評估程序的執行效率,使用該工具的步驟具體如下。
SE30需要通過執行某程序或者事務代碼來計算其數據庫訪問的時間、ABAP程序的執行時間及其標準系統功能執行所占的時間。若某個程序執行時間太長,可以通過該工具來測試,計算該程序執行中的資源消耗主要是在數據庫上面還是在ABAP代碼上面。SE30可以直接執行事務代碼或者執行程序名稱來進行分析,初始頁面如下圖所示:
下面則以一個自定義的事務代碼為例來分析運行效率,本例中在事務代碼選項對應的輸入框中輸入事務代碼ZSD026,然后單擊屏幕上的執行按鈕,所看到的將會是如下的界面:
單擊所執行事務代碼的退出按鈕,返回SE30的維護界面,可以看到其“Performance Data File”(性能數據文件)頁面中顯示了相關程序的執行信息,運行分析時,會將分析的結果寫到一個文件中,如下圖所示:
單擊該頁面中的“評估”按鈕,將會顯示分析結果圖例,如下圖所示:
從上圖可以看到程序運行共耗費49313723微秒,其中ABAP程序占用了1.5%,而數據庫查詢占用了98.4%,所以在數據庫查詢這塊有待改進。
在“運行時間分析評估:概覽”頁面中,單擊工具欄中的“命中列表”按鈕來查看命中的結果,可以通過該結果分析程序執行的詳細狀態。而對于類似數據庫查詢報表,優化的目標首要是減少數據的訪問及負荷。如果數據庫占用比率較高,可能要考慮需要優化SQL或表,ABAP占用過大時候,可能要檢查內表循環或者數據處理上是否存在可優化空間。命中清單結果如下圖所示:
命中清單上面顯示了具體的程序名稱和相關方法,以及該方法在程序執行中所占用的資源及比率。將光標移動到命中清單結果中的某一行,然后執行主菜單中的“轉到”——“顯示源代碼”命令,可以看到該行程序對應的ABAP源代碼,這樣更有利于進行程序分析,如下圖所示:
SE30的初始頁面工具欄上面有一個按鈕“提示&技巧”,SAP建立了一些示例指導用戶去進行相關程序和SQL代碼的優化,如下圖所示:
總結
以上是生活随笔為你收集整理的【ABAP】通过SE30来测试程序的执行效率的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【ABAP增强】基于BADI的增强
- 下一篇: 【ABAP】通过ST05分析程序执行路径