Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: knopix от Июнь 14, 2011, 12:05:26 pm
-
Здравствуйте...
Собственно, дело вот в чём. Есть данные во внутренней таблице, которую я вывожу в ALV-grid. Далее пользователь может наложить дополнительные ограничения используя фильтры в этом самом ALV-grid. А затем мне нужно вывести данные с учётом этих ограничений в excel-отчёт. Критерии фильтров получил при помощи метода "GET_FILTER_CRITERIA", а что с этим дальше делать никак не придумаю. Как-то сделать динамический "read table" внутренней таблицы с учётом значений фильтров не получается.
Подскажите, пожалуйста, что делать в этой ситуации.
-
Попробуйте метод GET_FILTERED_ENTRIES, сам не использовал, но вы посмОтрите и скажете, индексы каких строк он возвращает. По идее должен вернуть индексы оставшихся на экране. Тогда в цикле по возвращаемой таблице ET_FILTERED_ENTRIES типа LVC_T_FIDX возможно сформировать выгружаемую в MS Excel актуальную таблицу данных.
-
Пробовал... Возвращает индексы "отфильтрованных" строк, т.е. тех которые не нужны. Я вот подумал, сделать цикл по возвращаемой таблице и удалить строки с этими индексами из внутренней таблицы с данными.
Спасибо за совет.
-
Возможно лучше в цикле сформировать новую внутреннюю табличку со сроками, которые вам нужны, а исходную, отображаемую на экране, которую вы подаёте в качестве changing параметра IT_OUTTAB в метод SET_TABLE_FOR_FIRST_DISPLAY оставить без изменений. Вдруг вам потом захочется использовать метод REFRESH_TABLE_DISPLAY.