Текущее время: Сб, июл 19 2025, 01:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Объекты блокировки.
СообщениеДобавлено: Чт, дек 13 2012, 19:57 
Ассистент
Ассистент

Зарегистрирован:
Вс, ноя 25 2012, 15:31
Сообщения: 26
Здравствуйте, уважаемые формучане.
Возник вопрос.

Есть две таблицы. В обеих есть след ключевые поля:
1) A
2) A и B
Нужно сделать следующее:
Один клиент делает заказ и идет запрос на выборку из соединения этих двух таблиц.
Получаем скажем следующие значения по ключевым полям А и В:
1 1
1 2
1 3
2 1
2 2
...
Пусть например клиент выбрал 1 2 и начал работать с этими данными.
Мне нужно чтобы если второй клиент сделал такой же запрос в то время пока первый обрабатывает эту 1 2, то строки 1 2 в этом запросе не было.
Для этого я воспользовался объектом блокировки.
Но все равно при тестировании получается. что второму клиенту выводят все поля, которые и первому.

Code:
CALL FUNCTION 'ENQUEUE...'
           EXPORTING
             MODE_ZTAB_ROOM          = 'S'
             MODE_ZTAB_BOOKING       = 'S'
             A                = wa-A
             B             = wa-B
             X_A           = ' '
             X_B           = ' '
             _SCOPE                  = '2'
             _WAIT                   = ' '
             _COLLECT                = ' '
           EXCEPTIONS
             FOREIGN_LOCK            = 1
             SYSTEM_FAILURE          = 2
             OTHERS                  = 3
.

Так создаю. Следующим куском снимаю блокировку..
Code:
        CALL FUNCTION 'DEQUEUE_EZBOOK'
         EXPORTING
           MODE_ZTAB_ROOM          = 'S'
           MODE_ZTAB_BOOKING       = 'S'
           A               = wa-A
           B             = wa-B
           X_A             = ' '
           X_B           = ' '
           _SCOPE                  = '2'
           _SYNCHRON               = ' '
           _COLLECT                = ' '
                  .

В чем мб причина и вообще в правильном ли я направлении?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Объекты блокировки.
СообщениеДобавлено: Чт, дек 13 2012, 22:14 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
Ставьте lock mode E. При S, другие программы тоже могут устанавливать S блокировку.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Объекты блокировки.
СообщениеДобавлено: Пт, дек 14 2012, 08:13 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Блокировки SAP в отличии от блокировок БД всегда нужно использовать явно, и на выборку данных блокировки SAP не влияют.
Вам нужно на выбранные записи устанавливать блокировку (ENQUEUE...), и если не получилось - то значит запись уже заблокирована и вы убираете ее из выборки

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объекты блокировки.
СообщениеДобавлено: Пт, дек 14 2012, 21:37 
Ассистент
Ассистент

Зарегистрирован:
Вс, ноя 25 2012, 15:31
Сообщения: 26
Спасибо большое всем!:) Все получилось :)


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

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


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

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


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

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