Текущее время: Пн, июл 28 2025, 03:44

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


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

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


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

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