SAP表的锁定与解锁


表的锁定模式有三种模式。

lock mode有三种模式:分别是S,E,X.含义如下:
     S (Shared lock, read lock)
     E (Exclusive lock, write lock)
     X (eXclusive lock, extended write lock, cannot be cumulated)
     模式E:当更改数据的时候设置为此模式。
     模式S:本身不需要更改数据,但是希望显示的数据不被别人更改。
     模式X:和E类似,但是不允许累加,完全独占。

允许附加锁模式 E     S    X

E   否(是)  否(是)   否(否)

S 否(是[无其他用户加S]) 是(是)   否(否)

X    否(否)  否(否)   否(否)
  
括号外为其他用户操作,括号内为同一个用户的操作  
  
1、锁表的通用函数:
CALL FUNCTION 'ENQUEUE_E_TABLE'
  EXPORTING
*  MODE_RSTABLE        = 'E'
   TABNAME             = 'SFLIGHT'
*  VARKEY              =
*  X_TABNAME           = ' '
*  X_VARKEY            = ' '
*  _SCOPE              = '2'
*  _WAIT               = ' '
*  _COLLECT            = ' '
  EXCEPTIONS
   FOREIGN_LOCK        = 1
   SYSTEM_FAILURE      = 2
   OTHERS              = 3.
2、为表解锁的通用函数:
CALL FUNCTION 'DEQUEUE_E_TABLE'
  EXPORTING
*  MODE_RSTABLE      = 'E'
   TABNAME           = 'SFLIGHT'
*  VARKEY            =
*  X_TABNAME         = ' '
*  X_VARKEY          = ' '
*  _SCOPE            = '3'
*  _SYNCHRON         = ' '
*  _COLLECT          = ' '.
         .
也可以为特定的表创建锁对象,在SE11事物里,选择lock object(锁对象),点击创建
输入相应的参数,最后保存,激活即可。注意,要允许RFC

在激活之后,会产生两个function module,一个用来对对象进行锁定,另一个是释放对象。二者的名字都很有规律。

DEQUEUE_<lock object的名字>  解锁
ENQUEUE_<lock object的名字>  锁定

到时要使用的时候直接call function module即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM