Добавление нового значения в грид.

Автор polkon, Лютий 27, 2013, 05:18:13 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

polkon

Как быть с такой проблемой: в алв есть поле цена, и новая цена (пустое),
необходимо в гриде выделить несколько строк, нажать кнопку
"изменить значение цены" - появится всплывающее окно, пользователь вводит значение
и при нажатии кнопки "ок" новое значение выводится в поле "новая цена".
Реализован метод нахождения выделенных строк, как быть дальше?

DATA: gi_index_rows TYPE lvc_t_row,
        g_selected_row TYPE lvc_s_row.

          call method GRID1->get_selected_rows
          importing
           ET_INDEX_ROWS = gi_index_rows.


          if gi_index_rows is initial.
         message 'Не выбрано ни одной строки' type 'E'.
         endif.

Uukrul

Цитата: polkon від Лютий 27, 2013, 05:18:13 ПП
и при нажатии кнопки "ок" новое значение выводится в поле "новая цена".
Реализован метод нахождения выделенных строк, как быть дальше?
Да просто во внутренней таблице значения поставьте в нужные поля и вызовите метод refresh для alv-таблицы, значеня появтся. У метода рефреш есть параметры которые позволяют оставить на экране текущий рабочий фрейм таблицы.

polkon

Цитата
Да просто во внутренней таблице значения поставьте в нужные поля и вызовите метод refresh для alv-таблицы, значеня появтся. У метода рефреш есть параметры которые позволяют оставить на экране текущий рабочий фрейм таблицы.
рефреш - это да, само собой, но перед этим мне нужно сделать цикл по  gi_index_rows.
В цикле прочитать таблицу с данными(gt_a630) и поменять значение цена (kbert) в поле новая цена (new). Как это сделать средствами abap пока не понимаю :(

Uukrul

Цитата: polkon від Лютий 28, 2013, 07:00:59 ДП
рефреш - это да, само собой, но перед этим мне нужно сделать цикл по  gi_index_rows.
В цикле прочитать таблицу с данными(gt_a630) и поменять значение цена (kbert) в поле новая цена (new). Как это сделать средствами abap пока не понимаю :(
А, понятно. В течении дня пример кода выложу, если кто раньше не ответит.

Uukrul

Вообще-то знаете транзакцию SE80 и такой пакет демонстрации работы с ALV и не только, назыается SLIS, так вот запускайет и смотрите примеры. Там все есть и кстати ответ на ваш предыдущий ответ как кнопку добавить и т.д.

polkon

Цитата: Uukrul від Лютий 28, 2013, 09:06:40 ДП
А, понятно. В течении дня пример кода выложу, если кто раньше не ответит.

Спасибо, уже получилось)