Текущее время: Вс, июл 20 2025, 06:15

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 10:41 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 07 2011, 08:29
Сообщения: 325
Подскажите, пожалуйста,
Есть z-кая таблица, объект блокировки с ключевыми полями таблицы:
MANDT
BUKRS
DAT1
TIME1
NUMNAKL
STATUS
DAT2
TIME2
LGORT

, я вызываю в программе функцию блокировки таблицы, задав значение только одного параметра
Code:
    CALL FUNCTION 'ENQUEUE_EZZSDOHRANA2'"'ENQUEUE_EZZSDOHRANA1'
    EXPORTING
      NUMNAKL  = GTSP-NUMNAKL
    EXCEPTIONS
      FOREIGN_LOCK = 1
      OTHERS       = 2.


специально запускаю программу в отладчике ставлю точку останова после блокировки
в другой программе захожу на изменение таблицы с другим ключевым полем не пересекающимся с этим, у меня возвращается сообщение что таблица заблокирована мною же.
Получается что объект блокировки блокирует всю таблицу, а не только записи с заданным ключом, как же правильно написать код?
нашла справку, но там ничего путного по этому вопросу (
http://abap-blog.ru/abap/optimizaciya_i ... /#more-570


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 12:10 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Необходимо запускать ФМ со всему ключевыми полями таблицы.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 12:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Текущие блокировки вы можете посмотреть в тр. sm12
А в той другой программе как проверяется блокировка, посмотрите тот код.

Может у кого есть документация по этому поводу?

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 12:40 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 07 2011, 08:29
Сообщения: 325
та другая программа использует тот же объект блокировки только с другими полями,
да я смотрю sm12,
какой же смысл задавать все поля, если мне нужно заблокировать ни одну запись, а несколько с одинаковым значением в одном поле? или мне нужно значение для ненужных полей особым образом задавать?
Или это невозможно блокировать несколько записией а не всю таблицу?
Я пробовала блокировать, задавая все поля, но другой объект блокирования также ругался на то что я как будто бы заблокировала всю таблицу, в том смысле что он просто не мог заблокировать свою часть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 14:03 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
hub2002 написал(а):
Необходимо запускать ФМ со всему ключевыми полями таблицы.
Не обязательно, если необходимо заблокировать диапазон.
Лисенок, проверьте правильность передаваемых параметров. Диапазоны точно не пересекаются? Может ваша блокировка вызывается дважды?
Приведите оба примера кода с блокировкой.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 14:10 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
Для примера можете проверить на блокировке таблицы MARC - ENQUEUE_EMMARCE.
1) Запустите в первой сессии с параметром WERKS = 'ZZ01', а во второй сессии c WERKS = 'ZZ02'. Конфликта блокировки не будет.
2) В первой сессии WERKS = 'ZZ01', во второй - MATNR = 'TEST'. Конфликт будет.

Так что ищите, что вы такое передаете, и не пересекаются ли диапазоны.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Вт, янв 29 2013, 15:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Лисенок написал(а):
...
в другой программе захожу на изменение таблицы с другим ключевым полем не пересекающимся с этим, у меня возвращается сообщение что таблица заблокирована мною же...

Так и есть! Обратите внимание на параметры ФМ блокировки, начинающиеся с "X_". Но похоже проблема изначально в ваших желаниях, что вы хотите, какова цель?

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Ср, апр 17 2013, 08:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 07 2011, 08:29
Сообщения: 325
хочу блокировать таблицу с определенным значением в определенном поле, это получается всего несколько строк, но почему-то выходить, что блокируется при этом как будто бы вся таблица, такое ощущение, что тут играет роль порядок полей в таблице, если поле последнее , то тогда блокируется как надо, а если нет, то происходит эта штука.
посмотрела объекты X_, также как в функции ENQUEUE_EMMARCE по умолчанию присваиваеться значение space.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: объект блокировки таблицы Z*
СообщениеДобавлено: Ср, апр 17 2013, 09:31 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 186
Добрый день.
Так как Вы описали, все должно получиться.
Если вы не указываете в ФМ любой из параметров, система интерпретирует его общим, и блокировка действует на
все строки таблицы, которые отвечают критериям, указанным в других параметрах.
Это хорошо описано в курсе BC414. Почитайте.


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

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


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

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


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

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