abap sql跟蹤工具st05的使用注意事項,如下,關閉介面的執行力才可以

1, ST05介紹

ST05是SAP R/3 提供的標準ABAP SQL 跟蹤工具,可以進行 SQL Trace,Enqueue Trace,RFC Trace,Buffer Trace以及HTTP trace。

使用ST05時,注意事項如下:

進入ST05追蹤後可以關閉該介面繼續執行其他操作,而不會影響到ST05 的執行。

因為ST05不會隨介面的關閉而結束,那麼必須在使用完ST05 後手動停止追蹤,否則會持續追蹤,直到SAP DB LOG滿為止。這樣將會導致系統故障。

使用追蹤看到的SQL語句是ABAP SQL 經解釋後的版本,可能其中ABAP SQL 將會被自動分解或最佳化

2, SQL Trace

透過SQL跟蹤,可以具體查詢資料來源於哪些資料庫表,例如:可以查詢某個tcode或幾個tcode所涉及的資料庫表。

為了減少在最終查詢結果的工作量,要在螢幕顯示你所要顯示的資料的前一步,先進入ST05,點選Activate Trace,然後執行顯示資料前的操作,螢幕資料顯示之後,回到ST05,點選Deactivate Trace,最後點選Display Trace, 就可以具體查詢資料來源於哪些資料庫表了。

1,輸入tcode st05,點選 activate trace 選項,開始進入跟蹤。如下圖,

abap sql跟蹤工具st05的使用注意事項,如下,關閉介面的執行力才可以

2,tcode:fnvm,進入合同修改介面:

abap sql跟蹤工具st05的使用注意事項,如下,關閉介面的執行力才可以

3,完成後,進入st05,點選deactivate trace,然後再點選display trace 如下圖,

abap sql跟蹤工具st05的使用注意事項,如下,關閉介面的執行力才可以

4, 查詢結果說明:

對上圖欄位說明如下:

Duration :持續時間,單位:毫秒 微秒

Obj。 name :表名

Op。 :操作型別

Statement :所執行的SQL語句。

3, Enqueue Trace

透過Enqueue Trace,系統可以記錄所有關於一個使用者或一組使用者的鎖與解鎖宣告。

跟蹤記錄可以包含如下資訊:

鎖定物件所涉及的表明

設鎖的程式名

鎖的型別

鎖的所有者

設鎖以及解鎖的時間

1,輸入st05,選擇enqueue Trace

2,後面的操作和SQL Trace操作相同

abap sql跟蹤工具st05的使用注意事項,如下,關閉介面的執行力才可以

3, 查詢結果說明:

對上圖欄位說明如下:

Duration :鎖操作執行的時間

Obj。 name :鎖的名稱

Op。 :鎖操作

Recs。 :Number of granules in the lock object。

RC :返回的編碼,0表示鎖操作成功,1表示操作不成功(鎖多項應經被鎖或部分已被鎖)。

Statement :This column lists the granules for the lock request

4, RFC Trace

使用RFC跟蹤,你可以跟蹤應用程式所執行的遠端呼叫或SAP系統在呼叫中所執行,你可以顯示和分析跟蹤檔案中的跟蹤記錄日誌。

跟蹤的記錄包含一下內容:

哪一個Function Modules 在程式中被呼叫

RFC是否成功執行

遠端呼叫程序所花費的時間

RFC的傳達標記,client or server。

遠端呼叫的例項。

技術引數

在RFC中傳送和接收的位數。

1, 輸入st05,選擇RFC Trace

2, 後面的操作和SQL Trace操作相同

abap sql跟蹤工具st05的使用注意事項,如下,關閉介面的執行力才可以

3, 查詢結果說明:

對上圖欄位說明如下:

Duration :遠端呼叫所執行的時間

Obj。 name :被遠端呼叫的功能函式例項簡稱。

Op。 :Client 或 Server。

Recs。 :RFC跟蹤記錄的型別,共有五個,分別為:1,2,3,4,5。

RC :返回的是遠端呼叫的日誌編碼。如果為0,則說明遠端呼叫成功;如果不等於0,則說明遠端呼叫發生錯誤。

Statement :依次顯示:本地例項的名字;遠端例項的名字;被呼叫的Function Module 的名字;傳送和接收的位數。

5, Table Buffer Trace

透過表緩衝區跟蹤,可以監控對錶緩衝區的訪問以及緩衝區的載入和解除安裝。表緩衝區跟蹤可以得到如下資訊:

Which buffer accesses your statement executes

Which buffer operations are used

How the buffer is managed

1, 輸入st05,選擇BUFFER Trace

2, 後面的操作和SQL Trace操作相同

3,查詢結果說明:

對上圖欄位說明如下:

Duration :持續時間

Obj。 name :表名

Op。 :顯示執行緩衝區中特定表操作的功能。

Recs。:讀取的記錄數。

RC :0 表示功能執行正確;64表示沒有發現記錄,即記錄數為零;256表示表緩衝區可訪問(緩衝區型別為R、P), 緩衝區型別 S, C, O, 和 M表示一個物件已被插入;1024表示記錄不在緩衝區,要載入緩衝區。

Statement :依次顯示為:緩衝區型別;KEY長度;KEY的值。

其他:

Database Operations Measured by SQL Trace

The SQL Trace analysis helps in measuring the execution time of the following data base operations that are performed when executing an SQL statement。

DECLARE: This operation declares a new cursor and assigns the SQL statement to that cursor created。

PREPARE: This operation converts the SQL statement into native SQL and frames out an execution plan for that statement。

OPEN: This operation opens the declared cursor and passes the parameters for database access。

FETCH: This operation passes one or more data records fetched to the database interface of the R/3 system。

REOPEN: Once a new select statement is brought in then this operation opens the cursor previously declared for previous select statement and per Forms new parameter passing to the database。

EXEC: Passes the parameters for the database statement, and executes the statements that change data in the database