是否可以自动对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
假设我现在对前两列和第五列进行排序。前两列将分组到1
和T_PM1
,而第五列将进行排序。但是,第三列,第四列和第六列都包含从前两列派生的数据,因此它们是相同的。我现在应该如何强制对这些领域进行分组? (请注意,我正在使用创建ALV的OO方法。)
显而易见的解决方案是对这些列进行排序,但是我无法立即想到这会导致错误排序的情况,我担心这会使我的代码通过插入无用的排序而不那么可读排序将通过要求为每个附加列额外单次传递数据来验证它是否已经排序,从而引入不必要的开销。
答案 0 :(得分:2)
据我所知,无法在未排序的列中对ALV网格中的值进行分组。请注意,排序将由ALV网格执行,因此将列添加到SORT
语句应该是完全没必要的 - 事实上,整个SORT
语句不是必需的。
用于对表进行排序的列数通常对总排序时间影响很小 - 大多数情况下,您不必担心这一点。