如何检查正在运行的程序的状态

时间:2013-05-23 12:04:55

标签: sap abap

我认为我有一个ABAP程序需要很长时间才能运行。所以我想检查程序当前正在做什么,正在执行哪行代码或者程序在那个时刻正在写什么表。

我认为有一个事务要检查正在运行的程序。我对吗 ?如果我就是那个?

3 个答案:

答案 0 :(得分:11)

您要做的是转到流程概述。

事务SM66显示当前系统的所有活动进程。如果您有多个应用程序服务器,这将特别有用。

SM50将显示您登录的当前应用程序服务器的所有进程。要查看可用的应用程序服务器,请转至SM51。

从流程概述(在SM66中),您可以单击该流程并单击“调试”按钮。

同样,从SM50,您可以从菜单中选择Administration -> Program -> Debugging来调试程序。

您可以从流程概述中项目的详细信息中识别执行程序的过程。

如果您能够使用有限的数据集测试程序,那么您可能想要做的另一件事是通过运行时分析(事务SE30或新系统中的SAT)运行它。这样您就可以更轻松地识别处理中的瓶颈。

答案 1 :(得分:3)

您可以使用SM50概述以相当有限的比例检查ABAP流程的状态。如果程序在后台进程中运行(并且您具有适当的权限),则可以从事务SM37调试后台作业。

答案 2 :(得分:2)

如果特别关注数据库访问,可以使用事务ST05来启动SQL跟踪。当您显示跟踪时,它将显示已执行的SQL语句并提供有关它们的一些信息,例如它花了多长时间,返回了多少记录以及使用了哪些索引。它还允许您查看在源中调用语句的位置。

ST05是系统范围的跟踪,但您可以通过username / transaction / program / table过滤跟踪以缩小结果范围。另请注意,一次只能运行一个跟踪系统,因此请务必在完成后将其关闭,以便下一个人可以使用它。