SAP ABAP 锁对象(Lock Objects)
锁对象是 ABAP 字典提供的一种功能,用于同步多个程序对相同数据的访问。在特定程序的帮助下访问数据记录。SAP 为了控制并发,使用了锁对象,以避免在数据库中插入或更改数据时出现不一致。要锁定其数据记录的表必须在锁定对象中定义,并包含其键字段。
锁机制
以下是锁机制完成的两个主要功能:
- 程序可以与其他程序就其正在读取或更改的数据记录进行通信。
- 一个程序可以阻止自己读取刚刚被另一个程序更改的数据(控制并发)。
锁请求 首先由程序生成。然后,该请求发送到排队服务器,并在锁表中创建锁。排队服务器设置锁,程序最终准备好访问数据。
创建锁对象
步骤 1 - 转到事务 SE11。将打开以下界面:
步骤 2 - 单击 Lock Object(锁定对象)单选按钮。输入以 E 开头的锁定对象的名称,然后单击 Create 创建按钮。这里我们使用
EZLOCK12
。步骤 3 - 输入简短描述字段,然后单击 Tables 表选项卡。
步骤 4 - 在 Name 字段中输入表名,并选择锁定模式为 Write Lock(写入锁)。
步骤 5 - 单击 Lock parameter(锁定参数)选项卡,将出现以下界面:
步骤 6 - 保存并激活。自动生成 2 个功能模块。要检查功能模块,我们可以使用转到 → 锁定模块。
步骤 7 - 单击 Lock Modules(锁定模块),将打开以下界面:
已成功创建锁对象。
锁对象中包含的表的键字段称为 锁参数,它们在函数模块中用作输入参数。这些参数用于设置和删除由锁对象定义生成的锁。