SAP ABAP - Блокировка объектов

Блокировать объект - это функция, предлагаемая словарём ABAP, которая используется для синхронизации доступа к одним и тем же данным более чем одной программой. Доступ к записям данных осуществляется с помощью специальных программ. Объекты блокировки используются в SAP, чтобы избежать несогласованности при вставке или изменении данных в базе данных. Таблицы, записи данных которых должны быть заблокированы, должны быть определены в объекте блокировки вместе с их ключевыми полями.

Механизм блокировки

Ниже приведены две основные функции, выполняемые с помощью механизма блокировки:

  • Программа может общаться с другими программами о записях данных, которые она просто читает или изменяет.

  • Программа может предотвратить чтение данных, которые только что были изменены другой программой.

А lock requestсначала создается программой. Затем этот запрос поступает на сервер постановки в очередь, и блокировка создается в таблице блокировок. Сервер Enqueue устанавливает блокировку, и программа наконец готова к доступу к данным.

Создание объектов блокировки

Step 1- Перейти к транзакции SE11. Откроется следующий экран.

Step 2- Установите переключатель "Заблокировать объект". Введите имя объекта блокировки, начиная с E, и нажмите кнопку «Создать». Здесь мы используем EZLOCK12.

Step 3 - Введите краткое описание и перейдите на вкладку Таблицы.

Step 4 - Введите имя таблицы в поле «Имя» и выберите режим блокировки «Блокировка записи».

Step 5 - Щелкните вкладку параметров блокировки, появится следующий экран.

Step 6- Сохранить и активировать. Автоматически будут сгенерированы 2 функциональных модуля. Чтобы проверить функциональные модули, мы можем использовать Перейти к → Блокировать модули.

Step 7 - Щелкните «Блокировать модули», откроется следующий экран.

Объект блокировки успешно создан.

Ключевые поля таблицы, включенные в объект блокировки, называются аргументами блокировки и используются в качестве входных параметров в функциональных модулях. Эти аргументы используются для установки и снятия блокировок, созданных определением объекта блокировки.