Текущее время: Вс, июл 27 2025, 02:24

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Вт, июн 02 2009, 13:42 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, дек 18 2007, 13:09
Сообщения: 79
Откуда: планета Земля
Добрый день!
Ситуация следующая:
Есть редактируемый CL_GUI_ALV_GRID с контейнере на экране и кнопка на экране (НЕ в тулбаре грида). При перемещении между ячейками или по ENTER событие DATA_CHANGE отрабатывает нормально, но если я завел значение в ячейку грида и СРАЗУ нажал кнопку, то управление передается в PAI и изменения сделанные в последней ячейке не происходят. Как быть помогите советом.

_________________
Скакал Иван-царевич 3 дня и 3 ночи.. и дальше бы скакал, только скакалку отобрали..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Вт, июн 02 2009, 13:49 
Специалист
Специалист

Зарегистрирован:
Пт, сен 05 2008, 08:08
Сообщения: 134
Пол: Женский
Использовать метод check_changed_data для cl_gui_alv_grid.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Вт, июн 02 2009, 13:49 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
В PAI можно прописать call method grid->check_changed_data и измененные данные из ALV передадутся в табличку.

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Вт, июн 02 2009, 15:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Может это поможет?
После создания грида:
Code:
    CALL METHOD Grid1->REGISTER_EDIT_EVENT
      EXPORTING
        i_event_id = cl_gui_alv_grid=>mc_evt_modified.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Ср, июн 03 2009, 07:21 
Специалист
Специалист

Зарегистрирован:
Пт, сен 05 2008, 08:08
Сообщения: 134
Пол: Женский
phantomas написал(а):
кнопка на экране НЕ в тулбаре грида. При перемещении между ячейками или по ENTER событие DATA_CHANGE отрабатывает нормально

Значит,
Code:
CALL METHOD Grid1->REGISTER_EDIT_EVENT
      EXPORTING
        i_event_id = cl_gui_alv_grid=>mc_evt_modified.

в программе есть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Ср, июн 03 2009, 12:05 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, дек 18 2007, 13:09
Сообщения: 79
Откуда: планета Земля
Добавил call method grid->check_changed_data
ниче не происходит, вроде как должно срабатывать событие DATA_CHANGED - ставил там точку, незаходит.

события зарегистрировал:
Code:
      GO_GRID_9100->REGISTER_EDIT_EVENT( exporting I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED ).
      set handler LC_EVENT_HANDLER=>ON_DATA_CHANGE for GO_GRID_9100.

_________________
Скакал Иван-царевич 3 дня и 3 ночи.. и дальше бы скакал, только скакалку отобрали..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Ср, июн 03 2009, 13:02 
Специалист
Специалист

Зарегистрирован:
Пт, сен 05 2008, 08:08
Сообщения: 134
Пол: Женский
При нажатии кнопки на экране отработает PAI, там после
Code:
CALL METHOD alv->check_changed_data
        IMPORTING
          e_valid = valid.

измененные данные попадут во вн. таблицу.
Добавл.: если успешно прошли проверки. После вызова метода у меня еще проверка VALID.
(У меня метод data_changed отрабатывает из метода check_changed_data.)


Последний раз редактировалось Yellow Raven Ср, июн 03 2009, 13:12, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Ср, июн 03 2009, 13:09 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
phantomas написал(а):
Добавил call method grid->check_changed_data
ниче не происходит, вроде как должно срабатывать событие DATA_CHANGED - ставил там точку, незаходит.

Такое может быть, если тип функции для кнопки определен как Exit command.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Ср, июн 03 2009, 13:20 
Специалист
Специалист

Зарегистрирован:
Пт, сен 05 2008, 08:08
Сообщения: 134
Пол: Женский
[/quote]
Такое может быть, если тип функции для кнопки определен как Exit command.[/quote]
Не знаю, у меня как раз это все при обработке кнопок BACK и EXIT в модуле
exit_command_0100 AT EXIT-COMMAND. Все работает. Как это может повлиять?
:?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Чт, июн 04 2009, 06:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Yellow Raven написала:
Не знаю, у меня как раз это все при обработке кнопок BACK и EXIT в модуле
exit_command_0100 AT EXIT-COMMAND. Все работает. Как это может повлиять?
:?


Не знаю первопричины такого поведения, однако, симптомы, описанные в первом посте, на моей системе (ECC5.0) вылечились именно изменением типа функции кнопки.
Будет минутка - перепроверю еще раз.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Чт, июн 04 2009, 11:19 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, дек 18 2007, 13:09
Сообщения: 79
Откуда: планета Земля
Rokhay написал:
phantomas написал(а):
Добавил call method grid->check_changed_data
ниче не происходит, вроде как должно срабатывать событие DATA_CHANGED - ставил там точку, незаходит.

Такое может быть, если тип функции для кнопки определен как Exit command.

нет кнопка обычная...

_________________
Скакал Иван-царевич 3 дня и 3 ночи.. и дальше бы скакал, только скакалку отобрали..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с обновлением данных в обьектном гриде.
СообщениеДобавлено: Чт, июн 04 2009, 14:59 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
А метод grid->check_changed_data вызывается и вместо grid в нем стоит ваш объект?

А что до exit-command, то надо же понимать, что если вы назначаете кнопке такую функцию, то и обработку её нажатия надо помещать в module ... at exit-command.

Я использую конструкцию
Code:
call method grid->check_changed_data
importing e_valid   = valid.

и работает.

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB