如何使用 ST05 事物码,快速找到访问指定数据库表的 ABAP 代码试读版
在实际项目开发过程中,ABAP 顾问可能会经常接到这类需求:
调研 SAP 标准产品某个功能的具体实现位置,在此基础上做增强开发。
比如下图是 SAP CRM 产品主数据管理应用的搜索页面。
点击 Search 按钮之后,我们能够看到根据指定的搜索条件,在 ABAP 后台数据库表里搜索之后得到的结果:
现在我们已经从组里其他同事那里得知产品搜索时需要访问数据库表 COMM_PRODUCT, 但是没有告诉我们具体在哪一段 ABAP 代码里访问的这张表,需要我们自己找到答案
。
本文介绍如何使用 ST05
这个工具,快速找到准确的 ABAP 代码位置。
ST05
同本教程之前介绍的 SAT
工具有一些共同点:二者都是一种性能记录和分析工具,都需要使用者启动工具,开启跟踪模式,然后在跟踪模式下运行应用,运行完毕之后,工具会将记录的性能执行数据和分析结果展现给用户。
SAT
侧重点在记录 ABAP 代码的执行效率,包括 ABAP 类,ABAP Function Module,ABAP Subroutine 和 Open SQL 语句的执行性能,而 ST05
则侧重于数据库层面的执行性能分析。
关于 SAT 工具的使用方法,本教程之前已经详细介绍过。
- 26. 如何使用事物码 SAT 查找某个 SAPGUI 屏幕字段对应的后台存储数据库表的名称
- 65. 使用事物码 SAT 查找某个 SAPGUI 事物码操作调用的 Function Module 列表
下面通过一个实际例子来介绍 ST05 的使用方法。
我们先把前台需要运行的应用准备好。在打开 ST05 的跟踪模式之后,就不要运行除了需要监控的这个应用之外的其他应用了。否则的话,其他应用时访问的数据库表的性能数据也会一起被 ST05 记录下来,会干扰我们的结果分析。
另外注意一点,如果大家需要监控的应用程序是 Stateful(有状态)
类型的应用。
举个例子:比如点击搜索按钮之后,只有第一次执行才会从数据库里读取数据,并将数据存放到应用的缓存中。下一次搜索,如果搜索条件不变, 那么直接从应用缓存中取出上一次的搜索结果返回给 UI.
在使用 ST05 对这种有状态应用的程序进行性能分析时,要特别注意,每次开启跟踪模式之前,先将应用的缓存情况,或者干脆直接新启一个会话,比如关闭浏览器再重新打开。
相关文章
- 学生数据库管理系统
- SpringDataJpa 用MySQL语句怎么分页,spring全家桶SpringDataJpa 用MySQL语句怎么分页
- Docker创建MySQL容器模板命令
- Elasticsearch对应MySQL的对应关系
- 使用SpringDataJpa保存(save)报错误:SQL Error: 1062, SQLState: 23000 控制台会报:Duplicate entry ‘数‘ for key ‘PRIMA
- Navicat Premium 连接sqlserver数据库时提示安装Client失败,解决方案
- Mysql查询当前用户所有数据库语句(SHOW DATABASES)
- MySQL语句-查看当前数据库有哪些表(SHOW TABLES)
- MySQL5.0版本以上新增的 information_schema 数据库是什么?
- MariaDB数据库备份之逻辑备份
- MariaDB数据库创建用户
- MariaDB数据库给用户授权
- MariaDB数据库刷新权限表命令
- MariaDB数据库删除用户命令
- PhpStudy 2016搭建-sqli-libs靶场
- MySQL手动注入步骤
- Pikachu靶场-SQL注入-数字型注入(post)过关步骤
- Pikachu靶场-SQL注入-字符型注入(get)过关步骤
- 利用SQL注入漏洞实现MySQL数据库读写文件
- Kali-工具-sqlmap常见用法