Учебники

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

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

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

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

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

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

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

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

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

Запрос блокировки

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

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

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

Шаг 2 — Нажмите кнопку «Блокировать объект». Введите имя объекта блокировки, начиная с E, и нажмите кнопку «Создать». Здесь мы используем EZLOCK12.

Шаг 3 — Введите поле краткого описания и нажмите на вкладку Таблицы.

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

Шаг 5 — Нажмите на вкладку параметра блокировки, появится следующий экран.

Вкладка «Блокировка параметров»

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

Шаг 7 — Нажмите Lock Modules, и откроется следующий экран.

Блокировка функциональных модулей

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

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