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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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