Текущее время: Пт, июл 25 2025, 05:11

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


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

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


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

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