Текущее время: Пт, июн 27 2025, 18:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 02 2007, 12:19 
Ассистент
Ассистент

Зарегистрирован:
Пн, май 29 2006, 11:05
Сообщения: 30
Да.. дела...

А что вы можете сказать, Уважаемые, о предложеии Вольдемара?
Code:
select single for update * into ztbl_wa from ztbl where...
****  Делаешь изменения *****
update ztbl from ztbl_wa


Как работает эта фишка?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 02 2007, 14:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
mmsmms написал(а):
Как работает эта фишка?
Code:
select single for update * into ztbl_wa from ztbl where...
****  Делаешь изменения *****
update ztbl from ztbl_wa



Боюсь, что в обсуждаемом контексте она не работает.

Блокируется строка(и) на уровне БД.
В момент *делаешь изменения*, наверное, придётся взаимодействовать с пользователем, а значит придётся закончить dialog step, автоматически закроется database LUW и блокировка БД сбросится.

После update ztbl блокировка БД опять установится до конца очередного database LUW.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 02 2007, 15:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
abap написал:
А прикольно будет, если пользователь А сделает изменения в десяти разных строках и пользователь Б тоже полчаса будет что-нибудь долбить в грид, а потом оба нажмут SAVE!


А ничего прикольного, просто один процесс немного подождёт другой.

Если изменять всякие счётчики (баланс счёта, запас на складе) или длинные строки (адрес), то блокировка должна ставиться перед чтением данных, чтобы сохранить консистентность.

Поэтому нужно делать либо как предложил abap (блокировка на всё время редактирования пользователем), либо как я писал про a b c.
Кстати, это уже реализовано в SAP'е и называется Optimistic Lock. Только сравниваются не сами данные, а их версии, что намного эффективнее. Но, как правильно заметил abap, один пользователей сильно обломится, если он долго что-то вколачивал, но другой его опередил.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

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


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

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


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

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