0

当我运行一些 SAP 事务时,例如MB51 Material document list我可以指定一些条件,过滤并减少事务返回的记录数。(日期、材料等)我可以指定或过滤仅通过选择布局返回的列。

MB51然后从例如交易中获得所需的记录需要相对较长的时间。但是,当我在屏幕上显示结果集并且更改布局并包含其他列时,事务不会重新运行:而是立即显示列值。我想无论选择的布局如何,都会返回所有列值。

由于通常有大量列不提供任何有趣的数据,因此会显着降低某些 SAP 事务的性能。

我确实只有常规用户可以访问 SAP 安装,并且没有使用 ABAP 或在 SAP 中创建自定义事务的经验。所以我只需要坚持标准交易。

这种行为是 SAP 的正常问题还是我们安装的问题?非特权用户是否有任何解决方法来过滤返回的列?

4

2 回答 2

1

您无法修改 SAP 标准程序以使它们像现在这样返回更少的列。这意味着修改 SAP 拥有的源代码(并在此进行相当广泛的修改),这在技术上是可行的,但完全不推荐,当然也完全不受支持。

首先,报表返回的列数通常不是一个大的性能问题。在某些情况下,如果您返回非常多的行并且只需要几列,那么您可能是对的。但通常您只返回适中的行数(与表中的总行数相比适中),因此从数据库传输的实际数据并没有那么多。查询速度慢的原因有很多,例如连接几个大表或没有正确的索引来连接这些表。在这里,您的管理员可以提供帮助,他们可以使用工具来准确监控 SAP 系统在您的查询期间所做的事情,并且他们可能会找到性能低下的原因。

如果您确实需要或希望能够自己影响查询,则必须求助于 SAP Query(事务 SQ01/SQ03)等工具。SAP Query 仅用于数据显示,您不能从那里修改数据。但是您可以创建自己的查询,提供相应的知识。您需要创建一个包含所需数据的信息集,然后在该信息集上创建一个查询(或多个查询)。在您的信息集中,您决定需要哪些表以及应该返回哪些列。然后,在您的查询中,您决定过滤查询的列以及如何显示结果。有一堆关于 SAP Query 的教程(这里有一个例子),包括一些在 youtube 上的教程。

于 2014-09-16T19:57:46.280 回答
1

您可能处于相对未更新的安装中,在这种情况下,您可能需要应用一些注意事项来提高性能。它们在 SCN 上进行了讨论。Note 1550000看起来最有希望。

如果应用现有注释无助于解决问题,那么您应该考虑使用 SAP 打开客户消息。大量使用事务的性能缓慢是他们应该帮助解决的问题。

于 2014-09-16T13:07:02.680 回答