Текущее время: Ср, июн 18 2025, 17:37

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Буфферизация данных
СообщениеДобавлено: Пт, янв 20 2012, 17:09 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 10 2007, 20:37
Сообщения: 72
Всем привет.

Задачка состоит в том, чтобы обновлять данные по изменениям ALV таблицы. Обновлять скопом, чтобы базу меньше дергать. Для этого сделал буфер, с которым сравниваю ALV и при сохранении, сохраняю все сразу. Все было прекрасно пока табличка была одна, сейчас добавился еще экранчик, в котором могут менятся данные отображаемые на 1 экране. В базе эти изменения прописываются на экране 2. Т.е. мне при изменении данных приходится обновлять и буфер и ALV1. Следить за 2мя таблицами лень и функцию обновления не хочется всегда запускать(да и при доработках, другой разработчик может на нее забить). Хочу обновлять буфер из ALV1 при переходе на экран с другого экрана. Можно ли узнать в PBO логике, что произошла смена экранов?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пт, янв 20 2012, 17:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Rednada написал(а):
Всем привет.

Задачка состоит в том, чтобы обновлять данные по изменениям ALV таблицы. Обновлять скопом, чтобы базу меньше дергать. Для этого сделал буфер, с которым сравниваю ALV и при сохранении, сохраняю все сразу.

Посмотрите ноту 415716, раздел "General information about the internal tables of delivery processing" для получения информации, как нужно организовывать буфер для хранения табличных данных.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пт, янв 20 2012, 17:29 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
А какой смысл изобретать велосипед? Используйте ФМ обновлений IN UPDATE TASK. Тогда функция сохранения будет состоять из одной команды COMMIT WORK, вместо сравнений различных как правило глобальных внутренних таблиц.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 00:28 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 10 2007, 20:37
Сообщения: 72
__Gennady написал(а):
А какой смысл изобретать велосипед? Используйте ФМ обновлений IN UPDATE TASK. Тогда функция сохранения будет состоять из одной команды COMMIT WORK, вместо сравнений различных как правило глобальных внутренних таблиц.

Подумал что быстрее будет + скучновато было :) В итоге через обновления буду делать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 08:34 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Для редактируемых ALV хорошо накладывается сохранение in update task. Но бывают исключения - когда постановщики хотят сделать возможность сохранять не все что сделано, а к примеру только выделенные записи.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 10:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
__Gennady написал(а):
Для редактируемых ALV хорошо накладывается сохранение in update task. Но бывают исключения - когда постановщики хотят сделать возможность сохранять не все что сделано, а к примеру только выделенные записи.

А что, неявных COMMIT не бывает? :?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 11:09 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Пардон, причем тут неявный commit? Может я выразился неправильно - на мой взгляд механизм отложенных обновлений очень удобно использовать, когда сохраняются все изменения, выполненные пользователем. А вот если не удается уговорить сохранять целиком(например требование сохранять не все строки, в которых были изменения, а только выделенные) - тогда пользоваться отложенными обновлениями неудобно, приходится анализировать изменения по внутренним таблицам.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 11:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Насколько я понял из контекста, вы предлагаете при каждом изменении выполнять ФМ в режиме IN UPDATE TASK и по кнопке "Сохранить" вызывать COMMIT WORK?
Если так, то изменения будут выполняться не только при нажатии кнопки сохранить, то и при любом срабатывании логики экрана.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 11:50 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 10 2007, 20:37
Сообщения: 72
Удав написал(а):
Насколько я понял из контекста, вы предлагаете при каждом изменении выполнять ФМ в режиме IN UPDATE TASK и по кнопке "Сохранить" вызывать COMMIT WORK?
Если так, то изменения будут выполняться не только при нажатии кнопки сохранить, то и при любом срабатывании логики экрана.


Не будут. нужен явный комит.


Последний раз редактировалось Rednada Пн, янв 23 2012, 11:57, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 11:52 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Удав написал(а):
Насколько я понял из контекста, вы предлагаете при каждом изменении выполнять ФМ в режиме IN UPDATE TASK и по кнопке "Сохранить" вызывать COMMIT WORK?
Если так, то изменения будут выполняться не только при нажатии кнопки сохранить, то и при любом срабатывании логики экрана.



Именно так. Отложенные обновления не инициируются неявным коммитом, как раз для этого они и нужны. Рекомендую ознакомиться с курсом BC414.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буфферизация данных
СообщениеДобавлено: Пн, янв 23 2012, 14:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Мда, насчет неявного COMMIT и режимом IN UPDATE TASK я вступил :oops:

_________________
С уважением,
Удав.


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

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


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

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


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

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