Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10575
  • 博文数量: 3
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-12 12:59
文章分类

全部博文(3)

文章存档

2009年(3)

我的朋友
最近访客

分类:

2009-03-28 09:33:22

在更新系统表前,需对表进行锁定。创建锁的方法为用se11创建锁对象,命名方式为e+表名(自定义表为z开头,所以,其实锁对象名称是以EZ开头的)点创建输入短文本,在table页输入需锁定的表名和锁定的模式。在锁定参数页会自动将表的key字段加入。

锁定模式分三种:1专用锁。2共享锁。3专用但不累积锁。注意在操作完成后需要进行解锁。

* 锁定对象包括要被锁定记录的表。一个锁定对象由一个主表构成。你也可以使用foreign key关系定义其他附加的表

* 如果一个锁定对象被激活,系统产生一个 ENQUEUE 和一个 DEQUEUE 函数模块。这些函数模块被叫做ENQUEUE_ DEQUEUE_ ,并且在ABAP 代码中锁定和解除锁定。

 

SE11 选择表,点击其他对象按钮

出现

起名要以EZ开头(用户定义的锁定对象必须以"EY" "EZ" 为开头)。,否则会出现

 

用于设锁的 FM 为: ENQUEUE_<锁对象名>。它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。若设锁不成功的话,就会在 Return 中反映出来。

用于释放锁的 FM 为:DEQUEUE_<锁对象名>。它用于从锁表中删除一个锁项。

ABAP 程序中,只需使用 "CALL FUNCITION ..." 语句就可以调用它们。

这两个锁 FM 是在 SAP 系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的服务器上,而该服务器专门用于维护整个 SAP 系统的主锁表(Central Locak Table)。

 

 

阅读(799) | 评论(0) | 转发(0) |
0

上一篇:如何查找BAdIs(跟踪)?

下一篇:没有了

给主人留下些什么吧!~~