Текущее время: Ср, июл 23 2025, 22:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Вт, фев 21 2012, 20:25 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 26 2007, 14:07
Сообщения: 28
Пол: Мужской
Добрый день.
Есть ALV с редактируемыми полями.
В одной строке есть два редактируемых поля (допустим V01 и V02).

Задача: при изменении значения V01 или V02 изменить значение этих же полей в другой строке ALV.

В методе HANDLE_DATA_CHANGED висят проверки на поля.
В случае ошибки вызываем ADD_PROTOCOL_ENTRY, ставим ERROR_IN_DATA = 'X'
В методе HANDLE_DATA_CHANGED_FINISHED - код по изменению другой строки ALV.

Допустим, что проверка поля V01 прошла некорректно.
Выводится протокол ошибки для поля V01. Закрываем его.
Далее меняем значение поля V02(корректное), а V01 - нет, также оставляем с ошибкой.
Опять выводится протокол ошибки для поля V01. Закрываем его.
Далее меняем значение поля V01 на корректное.
Запускается метод HANDLE_DATA_CHANGED_FINISHED и в нем видно изменение только поля V01.
То есть изменение поля V02 не отловлено, данные в другой строке не пересчитаны.

Как побороть???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Вт, фев 21 2012, 23:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
viewtopic.php?f=13&t=15959

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Вт, фев 21 2012, 23:23 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 26 2007, 14:07
Сообщения: 28
Пол: Мужской
Нет, это немножко не то...

В методе HANDLE_DATA_CHANGED_FINISHED
в таблице ET_GOOD_CELLS нет записи о том, что по FIELDNAME='V02' были изменения данных.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Ср, фев 22 2012, 15:41 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
В событие DATA_CHANGED должно приходить изменение по обом полям, попробуйте написать обновление в нем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Пт, фев 24 2012, 14:38 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Я делал свою табличку внутреннюю, куда складывал данные, которые прошли успешную обработку в событии data_changed.
И в событии data_changed_finished смотрел на свою табличку, а не на ту, что была передана.
После чистил её.

Проблема в моем случае была в том, что при одновременном изменении двух и более значений в alv, если хотя бы одно из них некорректное, то событие data_changed_finished не срабатывает, но правильные данные заносятся в таблицу и в дальнейшей обработке участвуют только те, которые были ошибочными.

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Пт, фев 24 2012, 14:55 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Уточните постановку:
Цитата:
Задача: при изменении значения V01 или V02 изменить значение этих же полей в другой строке ALV

Поля независимо друг от друга должны заполняться в другой строке?
Или может можно по факту изменения одного менять оба поля в другой строке?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Сб, фев 25 2012, 00:16 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 26 2007, 14:07
Сообщения: 28
Пол: Мужской
PK написал:
Я делал свою табличку внутреннюю, куда складывал данные, которые прошли успешную обработку в событии data_changed.
И в событии data_changed_finished смотрел на свою табличку, а не на ту, что была передана.
После чистил её.

Проблема в моем случае была в том, что при одновременном изменении двух и более значений в alv, если хотя бы одно из них некорректное, то событие data_changed_finished не срабатывает, но правильные данные заносятся в таблицу и в дальнейшей обработке участвуют только те, которые были ошибочными.


Вот и у меня именно так же.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Сб, фев 25 2012, 00:18 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 26 2007, 14:07
Сообщения: 28
Пол: Мужской
__Gennady написал(а):
Уточните постановку:
Цитата:
Задача: при изменении значения V01 или V02 изменить значение этих же полей в другой строке ALV

Поля независимо друг от друга должны заполняться в другой строке?
Или может можно по факту изменения одного менять оба поля в другой строке?


Независимо.
Изменилось V1 - меняем V1.
Изменилось V2 - меняем V2.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV+ событие DATA_CHANGED_FINISHED - не всегда отрабатывает
СообщениеДобавлено: Сб, фев 25 2012, 14:05 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
__Alex__ написал:
Независимо.
Изменилось V1 - меняем V1.
Изменилось V2 - меняем V2.


Обработки только в ON_DATA_CHANGED разве недостаточно?


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

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


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

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


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

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