Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема начата: polkon от Февраль 27, 2013, 05:18:13 pm

Название: Добавление нового значения в грид.
Отправлено: polkon от Февраль 27, 2013, 05:18:13 pm
Как быть с такой проблемой: в алв есть поле цена, и новая цена (пустое),
необходимо в гриде выделить несколько строк, нажать кнопку
"изменить значение цены" - появится всплывающее окно, пользователь вводит значение
и при нажатии кнопки "ок" новое значение выводится в поле "новая цена".
Реализован метод нахождения выделенных строк, как быть дальше?
Код: You are not allowed to view links. Register or Login
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.
Название: Re: Добавление нового значения в грид.
Отправлено: Uukrul от Февраль 27, 2013, 06:45:43 pm
You are not allowed to view links. Register or Login
и при нажатии кнопки "ок" новое значение выводится в поле "новая цена".
Реализован метод нахождения выделенных строк, как быть дальше?
Да просто во внутренней таблице значения поставьте в нужные поля и вызовите метод refresh для alv-таблицы, значеня появтся. У метода рефреш есть параметры которые позволяют оставить на экране текущий рабочий фрейм таблицы.
Название: Re: Добавление нового значения в грид.
Отправлено: polkon от Февраль 28, 2013, 07:00:59 am
Цитировать
Да просто во внутренней таблице значения поставьте в нужные поля и вызовите метод refresh для alv-таблицы, значеня появтся. У метода рефреш есть параметры которые позволяют оставить на экране текущий рабочий фрейм таблицы.
рефреш - это да, само собой, но перед этим мне нужно сделать цикл по  gi_index_rows.
В цикле прочитать таблицу с данными(gt_a630) и поменять значение цена (kbert) в поле новая цена (new). Как это сделать средствами abap пока не понимаю :(
Название: Re: Добавление нового значения в грид.
Отправлено: Uukrul от Февраль 28, 2013, 09:06:40 am
You are not allowed to view links. Register or Login
рефреш - это да, само собой, но перед этим мне нужно сделать цикл по  gi_index_rows.
В цикле прочитать таблицу с данными(gt_a630) и поменять значение цена (kbert) в поле новая цена (new). Как это сделать средствами abap пока не понимаю :(
А, понятно. В течении дня пример кода выложу, если кто раньше не ответит.
Название: Re: Добавление нового значения в грид.
Отправлено: Uukrul от Февраль 28, 2013, 10:49:07 am
Вообще-то знаете транзакцию SE80 и такой пакет демонстрации работы с ALV и не только, назыается SLIS, так вот запускайет и смотрите примеры. Там все есть и кстати ответ на ваш предыдущий ответ как кнопку добавить и т.д.
Название: Re: Добавление нового значения в грид.
Отправлено: polkon от Февраль 28, 2013, 03:22:07 pm
You are not allowed to view links. Register or Login
А, понятно. В течении дня пример кода выложу, если кто раньше не ответит.

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