一個好用的SAP ABAP工作程式跟蹤工具

i042416發表於2020-09-13

As an ABAPer we have SAT, ST05 ( or sometimes ST12 ) for trace in our toolbox, and recently I find this report which could also do the trace job.

Although the trace information it generates is quite technical and perhaps more useful for those guys who are interested with the ABAP kernel.

How to use this report

(1) SE38, execute report RSTRC000, mark the checkbox “Keep Work process”, so that a free work process will be owned exclusively by you unless you release it via this report again. And change the trace Level to 2: Full trace. Select the component which you would like to trace, for example Database.


一個好用的SAP ABAP工作程式跟蹤工具


Click save button and you can see the work process 23 is locked.


一個好用的SAP ABAP工作程式跟蹤工具


you could observe that the work process 23 has status “halt” in tcode SM50.


一個好用的SAP ABAP工作程式跟蹤工具


(2) Now it is ready to run the program which you would like to trace ( just the similar process as SAT or ST05 ). Use /nse38 to go to ABAP editor starting from the current screen of report RSTRC000, and run your program. For me, I just run a report which will query material data from database table COMM_PRODUCT. Once the program finishes, run report RSTRC000 again.

click button “Default val.” so that trace Level is changed to 1 automatically,


一個好用的SAP ABAP工作程式跟蹤工具


then click save button and you could observe the previously locked work process 23 is released.


一個好用的SAP ABAP工作程式跟蹤工具


Now you could click “Display” button to review trace log:


一個好用的SAP ABAP工作程式跟蹤工具


You could export the trace locally to review it. For me I prefer to use my favourite text editor “sublime text” to review text file. Here below I just list the trace review of several trace component which I have already tried myself.

Database log

from the log, I could find which database tables are involved in the report execution and which ABAP program triggers such access. Some C language call could be observed but due to security or authority reasons maybe, we could not review the source file like ablink.c in folder /bas/*.


一個好用的SAP ABAP工作程式跟蹤工具


We could also find the detail OPEN SQL statement from the log, however I could not find the value of query parameter as shown below – they are displayed as ? in the trace.


一個好用的SAP ABAP工作程式跟蹤工具


ABAP proc.

It just lists all the ABAP class which are involved in the report execution but without method name of those class. In my case from the trace I can just know there are totally 40 different ABAP class with prefix CL_CRM_PROD* ( which are responsible by me) involved in the execution.


一個好用的SAP ABAP工作程式跟蹤工具


Database (DBSL)

Since we are currently use HANA as our database, I could have a very draft understanding about how the OPEN SQL like SELECT XXX FROM table statement is executed in HANA.


一個好用的SAP ABAP工作程式跟蹤工具


Lock Management

This time I would like to trace the lock behavior in tcode COMMPR01. I switch to edit mode which triggers a lock request to enqueue server to lock the product and then I make changes on its description field.


一個好用的SAP ABAP工作程式跟蹤工具


in the trace this enqueue request is perfectly recorded:

  • the enqueue object
  • the database table on which the enqueue object is working
  • the guid of the product instance being locked
  • the tcode name COMMPR01
  • the user which triggers the enqueue request


一個好用的SAP ABAP工作程式跟蹤工具 一個好用的SAP ABAP工作程式跟蹤工具


From my point of view this option is a good substitute for the enqueue trace in ST05.


一個好用的SAP ABAP工作程式跟蹤工具


Background

I run my report ZHANA_OBJECT_SEARCH in the background and


一個好用的SAP ABAP工作程式跟蹤工具


and I could see from the job log that it is successfully executed.


一個好用的SAP ABAP工作程式跟蹤工具


and this information is also available in RSTRC000 trace:


一個好用的SAP ABAP工作程式跟蹤工具


I didn’t try all the other trace options and maybe they are useful under some extreme use cases. If you are interested, you can start now try it yourself

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

一個好用的SAP ABAP工作程式跟蹤工具


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2719116/,如需轉載,請註明出處,否則將追究法律責任。

相關文章