zoukankan      html  css  js  c++  java
  • 一个好用的SAP ABAP工作进程跟踪工具

    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.

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

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

    (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,

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

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

    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/*.

    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.

    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.

    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.

    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.

    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


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

    Background

    I run my report ZHANA_OBJECT_SEARCH in the background and

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

    and this information is also available in RSTRC000 trace:

    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的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    maven学习(四)maven的生命周期
    maven学习(六)依赖、聚合、继承
    Koa2学习(三)GET请求
    Koa2学习(二)async/await
    Koa2学习(一)环境搭建
    实现一个简易的express中间件
    js生成页面水印
    使用 dva + antd 快速开发react应用
    使用ab 进行并发压力测试
    python3 使用http.server模块 搭建一个简易的http服务器
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13638742.html
Copyright © 2011-2022 走看看