SAP表的锁定与解锁

来源:互联网 发布:淘宝产品摄影moxin020 编辑:程序博客网 时间:2024/05/29 08:38

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

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类似,但是不允许累加,完全独占。

允许附加锁模式         X

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

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

    否(否)   否(否)    否(否)
  
括号外为其他用户操作,括号内为同一个用户的操作  
  
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即可。

 

原创粉丝点击