ALV Grid считывает вывод после изменений, сделанных пользователями - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть отчет, который выводит данные моей внутренней таблицы через сетку ALV.Сам вывод состоит из некоторой информации и двух флажков для каждой строки.Пользователь может при необходимости установить эти флажки, и теперь мне нужно прочитать таблицу обратно, чтобы узнать, какие флажки были отмечены.После этого соответствующие строки будут обрабатываться по-разному в зависимости от того, какой из двух блоков был отмечен.

Я уже пробовал метод get_actual_view, который я не знаю, как использовать правильный и метод get_selected_rows,который, кажется, получает индекс строки, выбранной пользователем, но не ее содержимое.

Как я могу прочитать таблицу после того, как пользователь установил флажки (и нажмите кнопку, чтобы продолжить, что вызоветкодирование в отчете, чтобы прочитать данные, обработать их и записать обратно в сетку)?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Вам необходимо вызвать метод CHECK_CHANGED_DATA из CL_GUI_ALV_GRID, чтобы перенести входные данные из сетки ALV во внутреннюю таблицу (он работает для всех видов полей ввода в ALV, т.е. не ограниченна флажки).

0 голосов
/ 19 февраля 2019

Лучший способ - отобразить вывод в ALV с помощью CL_GUI_ALV_GRID .

Для изменения в сетке ALV,

Вам необходимо зарегистрировать событие DATA_CHANGED и поможет вам написать свой код в случае изменения данных.

ДляВыбранные строки, вам нужно создать поле флажка в itab, это поможет вам управлять выбранными строками.

Если вы хотите перенести изменения экрана в itab, вам нужно вызвать метод check_changed_data для передачиизменяется с экрана на itab в Событие PAI .

Для некоторых сценариев, если вы хотите узнать какие-либо изменения в содержимом строки, вам нужно создать еще одно поле data_change тип символа, имеющий длину 1. Вы можете пометить это поле в соответствующем событии, если есть изменения в содержимом itab.

regards,

Umar Abdullah

...