首頁/ 娛樂/ 正文

SAP如何Debug後臺任務(Background Job)

方法1, JDBG命令

在SM37中找到需要debug的程式,選中後在控制塊輸入JDBG後回車即進入debug介面。

這種方式可以debug後臺程式,但是如果程式中有job log輸出需要檢視效果則該方法不適用,後面其他方法都可以透過debug時修改條件模擬各種條件下job log的輸出。

SAP如何Debug後臺任務(Background Job)

JDBG命令

2, Capture:active job

選中正在執行的job,點選選單Job -> Capture:active job後進入debug介面

該方法僅正在執行的job有效,由於一般情況下我們會從程式的開始部分debug,而執行中的後臺任務不知道執行到程式的哪一部分,所以時機很重要。

SAP如何Debug後臺任務(Background Job)

Capture Active Job

3, SM50

T-Code: SM50

找到執行的程式,如果程式太多,可以使用過濾掉條如User ID等過濾出需要debug的Process,選中需要debug的Process,然後點選選單Administration -> Program -> Debugging即進入debug介面。

該方法和第二種方法類似,需要把握debug的時機。

SAP如何Debug後臺任務(Background Job)

SM5

4, Debug 執行時間比較短的background job程式

SM36建立job,job第一步是是程式BTCLOOP,實際上該程式是一個死迴圈,job第二步是需要debug的真正程式。由於第一步的死迴圈會一直執行不會進入第二步的程式,因此在SM37或SM50中會看到該程式是一直在執行狀態。然後使用SM37的 Capture:active job或SM50去debug正在執行的job,修改BTCLOOP的變數I不為0的任何值即可跳出迴圈執行job的第二步程式。

相關文章

頂部