1.SE11锁对象查询或者建立锁对象,形式为E+表名等,如EYTSN02,对应产生锁定函数ENQUEUE_EYTVIN、解锁函数EQUEUE_EYTVIN
2.调用函数锁定表,并进行表操作,操作完成解锁表
* LOCK TABLE YTVIN
CALL FUNCTION 'ENQUEUE_EYTVIN'EXPORTING
mandt = sy-mandt
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Table lock error.
MESSAGE e398( 00) WITH '数据库锁定出错! 出错代码'
sy-subrc.
ENDIF.
YTVIN-FIELD = VALUE.
INSERT YTVIN.
IF sy-subrc = 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
* Record updated fail
MESSAGE s398( 00) WITH '记录更新失败'.
ENDIF.
* 更新操作完毕, 解锁
CALL FUNCTION 'DEQUEUE_EYTVIN'
EXPORTING
mandt = sy-mandt.