SAP ABAP 应用程序中的锁机制和工作原理介绍试读版

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证数据一致性而引入的一种保护机制。

像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。

这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

概括来说,SAP 的锁机制由两个操作组成,在 SAP 官网上的术语是 Enqueue 和 Dequeue.

Enqueue 是对数据进行加锁操作,而 Dequeue 是对数据进行解锁操作。

当一个事务 A 需要对某份数据进行修改时,对应的 ABAP 程序会首先执行 Enqueue 操作,对数据进行加锁。此时其他用户无法对同一份数据进行修改操作,除非等待事务 A 释放锁。

当事务 A 完成数据修改后,会执行 Dequeue 操作,对数据进行解锁,这样其他用户或交易就可以进行操作了。

本文余下部分,我们分别通过 SAP 两个产品在浏览器和 SAPGUI 里的场景,来介绍 ABAP 锁如何保证 SAP 应用的并发控制特性的。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/132228599
今日推荐