在ALV中对未排序的行进行分组

时间:2013-12-30 09:19:03

标签: sap abap

是否可以自动对ALV中未排序字段的行进行分组?例如,假设我有以下输出:

1   T_PM1   0271    6025984     1271    602721
1   T_PM1   0271    6025984     1765    602721
1   T_PM1   0271    6025984     764     602721
1   T_PM1   0271    6025984     1242    602721
1   T_PM1   0271    6025984     1243    602721
1   T_PM1   0271    6025984     484     602721

假设我现在对前两列和第五列进行排序。前两列将分组到1T_PM1,而第五列将进行排序。但是,第三列,第四列和第六列都包含从前两列派生的数据,因此它们是相同的。我现在应该如何强制对这些领域进行分组? (请注意,我正在使用创建ALV的OO方法。)

显而易见的解决方案是对这些列进行排序,但是我无法立即想到这会导致错误排序的情况,我担心这会使我的代码通过插入无用的排序而不那么可读排序将通过要求为每个附加列额外单次传递数据来验证它是否已经排序,从而引入不必要的开销。

1 个答案:

答案 0 :(得分:2)

据我所知,无法在未排序的列中对ALV网格中的值进行分组。请注意,排序将由ALV网格执行,因此将列添加到SORT语句应该是完全没必要的 - 事实上,整个SORT语句不是必需的。

用于对表进行排序的列数通常对总排序时间影响很小 - 大多数情况下,您不必担心这一点。