SAP ABAP - 锁对象



锁对象是 ABAP 字典提供的一项功能,用于同步多个程序对同一数据的访问。数据记录通过特定程序进行访问。锁对象用于 SAP 中避免在数据库中插入或更改数据时出现不一致的情况。需要锁定其数据记录的表必须在锁对象中定义,并包含其关键字段。

锁定机制

以下是通过锁定机制完成的两个主要功能:

  • 程序可以与其他程序通信,告知其正在读取或更改哪些数据记录。

  • 程序可以防止自己读取刚刚被其他程序更改的数据。

程序首先会生成一个**锁定请求**。然后此请求转到 Enqueue 服务器,并在锁定表中创建锁定。Enqueue 服务器设置锁定,程序最终可以访问数据。

Lock Request

创建锁对象

**步骤 1** - 转到事务 SE11。将打开以下屏幕。

Creating Lock Objects

**步骤 2** - 点击“锁对象”单选按钮。输入以 E 开头的锁对象名称,然后点击“创建”按钮。这里我们使用 EZLOCK12。

**步骤 3** - 输入简短描述字段,然后点击“表”选项卡。

**步骤 4** - 在“名称”字段中输入表名,并将锁定模式选择为“写锁定”。

**步骤 5** - 点击“锁定参数”选项卡,将显示以下屏幕。

Lock Parameter Tab

**步骤 6** - 保存并激活。将自动生成 2 个函数模块。要检查函数模块,可以使用“转到”→“锁定模块”。

**步骤 7** - 点击“锁定模块”,将打开以下屏幕。

Lock Function Modules

锁对象已成功创建。

包含在锁对象中的表的关键字段称为锁定参数,它们用作函数模块的输入参数。这些参数用于设置和移除由锁对象定义生成的锁定。

广告