Можно ли автоматически группировать строки по несортированным полям в 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.)
Очевидным решением было бы также отсортировать эти столбцы, но хотя я не могу сразу придумать сценарий, в котором это приведет к плохой сортировке, я обеспокоен тем, что это делает мой код менее читаемым, вставляя бесполезные сортировки, и что эти сортировки представят ненужные накладные расходы, требуя дополнительного однократного прохождения данных для каждого дополнительного столбца, чтобы убедиться, что они уже отсортированы.
SORT
, пока они уже отсортированы, поэтому их упоминание излишне. Кроме того, я бы предположил, что для каждого из этих столбцов оставшееся подмножество несортированных записей (в примере все они) логика сортировки будет повторяться, чтобы проверить, отсортированы ли эти поля. Конечно, я могу ошибаться здесь, возможно, эта логика оптимизируется автоматически. - person Lilienthal   schedule 30.12.2013