Комментарии по теме

«Методика создания варианта тра­нза­кци­и: тра­нза­кция SHD0»
Олег Точенюк:
Как вариант решения проблемы, нашел тут у себя создание системного варианта транзакции MBPM. Думаю в данном случае можно попробовать так тоже сделать.   === Для этого запускаем стандартную...
«Выгрузка журнала пакетного ввода (тра­нза­кции SM35) в Excel/Бло­кнот»
Олег Точенюк:
Вообще у всех, там разработчиков и консультантов внутренней команды небыло в системе. Для получения доступа, сотрудник внутренней команды, наверное месяц бумаги рисовал, а мне как внешнему консалту...
«Выгрузка журнала пакетного ввода (тра­нза­кции SM35) в Excel/Бло­кнот»
Олег Башкатов:
если продуктив упал с грохотом - использовать отладку уже поздно...   из твоей фразы вижу, что полномочия были ограничены именно у тебя, а не в целом у всех в системе. полагаю, что не нужно...

База знаний

Особенности удаления блокировки в SM12

2559
8

Оглавление

Особенности удаления блокировки в SM12

Пример ошибочной работы  с sm12

"И тут считать мы стали раны..."

Случаи, когда можно и нужно использовать sm12 без опаски

Рекомендации по безопасной работе с sm12

Вариант №1

Вариант №2

Вывод

Особенности удаления блокировки в SM12

Рассмотрим ситуацию, когда сталкиваются интересы двух пользователей, желающих изменить один и тот же документ. Система, получая запрос на изменение данных, выставляет блокировку, запрещающую всем остальным менять документ, пока процесс изменения не будет завершен. В случае, если кто-либо попытается изменить блокированный документ, система выставить информационное сообщение (рис. 1) о том, что ведение документа блокировано и укажет имя пользователя, проводящего текущее изменение:

Рис. 1. Сообщение о блокировке другим пользователем.

В этой ситуации рекомендуется либо дождаться завершения процесса другим пользователем, либо связаться с ним и уточнить, когда он закончит работу с нужным документом. Но достаточно часто пользователь не хочет ждать или связываться с другим пользователем, а обращается к администратору системы с требованием разблокировать документ.

И вот тут администратор должен очень тщательно проанализировать ситуацию и устранить проблему, избегая негативных последствий, которые могут возникнуть, если просто удалить блокировку в SM12.

Пример ошибочной работы с sm12

Рассмотрим пошагово простой пример по изменению постоянных данных пользователя  двумя различными пользователями с применением снятия блокировки записи.

1. Допустим, пользователь TEST_BC изменял в системе свои постоянные данные (рис. 2):

Рис. 2. Изменение собственных данных.

и устанавливает признак «Немедленный вывод» для устройства печати (рис. 3):

Рис. 3. Изменение устройства вывода.

но при этом еще не успел сохранить сделанные изменения по   (Ctrl-S). Не важно по какой причине: покинул свое рабочее место по срочному делу (например, вызвал начальник или ушел на кофе-брейк),  или же случилось непредвиденное (пропало питание на рабочем компьютере или произошел сбой в сети и связь с системой была утрачена) …

2. По «случайному» совпадению администратор ADM_WORK решил, предположим, изменить у пользователя TEST_BC устройство вывода на печать через SU01 и получает от системы следующее сообщение(рис. 4):

Рис. 4. Сообщение о блокировке и подробная информация по сообщению.

В подробной информации, которую можно получить по нажатию кнопки  , дается рекомендации повторить попытку, после завершения операции другим пользователем.

То есть, ADM_WORK должен дождаться, когда пользователь TEST_BC закончит операцию, сохранив свои изменения.

Допустим, что ждать нет времени, а связаться с пользователем TEST_BC нет возможности  и администратор ADM_WORK решает снять блокировку через SM12.

Посмотрим, что из этого в итоге получится …

3. Запускаем SM12, указав имя пользователя TEST_BC (рис. 5.):

Рис. 5.  Выбор записи блокирования в SM12.

Выбираем запись блокировки и нажимаем удаление (рис. 6.)  :

Рис. 6. Список записей блокирования.

Подтверждаем свое намерение удалить блокировку (рис. 7.):

Рис. 7. Удаление записи блокирования

Система предупреждает (лучше поздно, чем никогда) о потенциальной опасности удаления записи блокирования (рис. 8.):

Рис. 8. Предупреждение о потенциальной опасности удаления записи блокирования.

Если работаем с системой на русском языке, то предупреждения не будет ("привет" команде локализации!).

При этом в системном журнале (SM21) будет зафиксировано  удаление блокировки (рис. 9.):

Рис. 9. Запись об удалении записи блокировки в системном журнале

Поскольку блокировка основной записи пользователя  TEST_BC  удалена администратор ADM_WORK может назначить новое устройство вывода (рис. 10.):

Рис. 10. Ввод устройства вывода.

ADM_WORK cохраняет внесенные в постоянные

Ограниченный доступ

Для прочтения полной версии статьи необходимо зайти как зарегистрированный пользователь.

Комментарии:

Вячеслав Шиболов (Рейтинг: 483) 09:32, 24 октября 2017

Анатолий, добрый день.
 
Спасибо за статью.
 
Но у меня, если позволите, есть несколько дополнений.
Как вы отметили в своей статье, система блокировок на уровне SAP служит для предотвращения коллизий и поддержания целостности базы данных на уровне бизнеса. Удаление блокировок, как вы так же отметили, крайне опасная операция.
 
Таким образом, идти на поводу пользователя, который просит освободить ему документ и удалить блокировку другого пользователя, при работающем в системе пользователе, по моему мнению, крайне некорректно. Такая просьба должна быть отклонена с подробнейшим рассказом про устройство системы блокировок. Решение проблемы долго блокирующих документ пользователей должно быть перенесено на уровень менеджмента и дополнено донесением до пользователей системы правил работы с ней.
 
Удаление режима пользователя (вместе с блокировками) без согласования с ним и сохранением результатов его работы, тоже выглядит странно. Администратор должен использовать свою силу только в крайних случаях. Оценить объем работы пользователя администратор (через просмотр транзакций SM04 и SM12) не может. А вдруг человек полдня заполнял формы на экране? А администратор, взмахом мыши, идя на поводу кого-то, перечеркивает его работу?
 
Удалять блокировки, как вы и указали, можно только лишь в случаях "старых" блокировок, которые остались при выходе (корректном или нет) пользователя из системы. И только в крайнем случае.
 
В целом, статья полезна, но посыл я бы сделал другим:
1. Удалять блокировки нельзя.
2. Выкидывать пользователей из системы (тран. SM04) некорректно.
3. Пользователей, которые не могут что-то поменять из-за блокировок, учить и не идти у них на поводу.
4. Старые блокировки чистить крайне осторожно.
 
Ну и + за пример того, что будет, если два пользователя сохранят документ без работающей системы блокировок.
 
По поводу "камня в огород" команды локализации могу сказать, что локализация базисных программ и транзакций минимальна. Считается, что специалист по базису должен работать в системе на английском языке. Документация вся на английском, общение со службой поддержки по поводу проблем базиса тоже на английском.
10:21, 24 октября 2017
Вячеслав, спасибо за отзыв!
Основная цель статьи как раз и состояла в том чтобы донести до широких масс информацию о технических особенностях работы с блокировками. Описание того как регламентировать на проекте обработку такой ситуации не входило в мои планы.
Камнями я не разбрасываюсь - просто отметил что сообщение не возникает ВООБЩЕ. По вашему это допустимо?
10:38, 24 октября 2017

Вячеслав Шиболов (Рейтинг: 483)

Нет, это недопустимо, но скорее всего никто не тестировал эту транзакцию на русском языке, так как она базисная. А базисник должен знать про опасность работы с блокировками без финального сообщения при их удалении. :)
В целом, я разделяю ваше возмущение. Но тут вопрос скорее к разработчику программы, а не локализаторам.
11:04, 24 октября 2017
Если для инфосообщения нет перевода, то окно не появится.

Олег Точенюк (Рейтинг: 10291) 23:09, 24 октября 2017

===
И было бы неплохо, если бы создатели системы предусмотрели при удалении записи блокировки в SM12 автоматическое удаление сеанса
===
Ну, что вам сказать, уровень неожиданной смертности среди базиса может значительно повыситься, после реализации этой "неплохи" :-) Кстати пример не очень, как говорил господин Григорий Остер, надо копать глубже. Вы при проводке, например отпуска запаса, блокировку с ОЗМ так снимите и в параллельной сессии еще один документ проведите, а потом первый сохраните, это будет гораздо веселее :-)
12:52, 25 октября 2017
Олег, я упомянул в статье про более изощренные варианты:
"когда нечто подобное, описанному в примере, происходит с документом, при сохранении которого запускается цепочка документов и различные перерасчеты?"
Требовался пример простой.
И кстати, вопрос по SM12 был обычно первый, а иногда и единственный, который я задавал кандидатам ;)
16:32, 25 октября 2017

Олег Точенюк (Рейтинг: 10291)

Кандидатам на базис или и функциональным консультантам?
17:07, 25 октября 2017
На базис естественно

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП»