ABAP:ENQUEUE_E_TABLE
①テーブルデータのロック
CONCATENATE sy-mandt lv_matnr INTO lv_mara_key.
" Lock object
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'E'
tabname = 'MARA'
varkey = lv_mara_key
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
LW_MSGV1= SY-MSGV1.
LW_MSGV2= SY-MSGV2.
MESSAGE XXX WITH SY-REPID LW_MSGV1 LW_MSGV2
DISPLAY LIKE 'E'.
" &1はユーザ&2によりロックされています(キー:&3)
LEAVE LIST-PROCESSING.
ENDIF.
" Unlock object
CALL FUNCTION 'DEQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'E'
tabname = 'MARA'
varkey = lv_mara_key
EXCEPTIONS
foreign_lock = 1 system_failure = 2 OTHERS = 3.
②処理のロック
lv_varkey = 'XXX' "XXXは処理ID
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'X'
varkey = lv_varkey
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
③ファイルダウンロード場合、排他ロック処理
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'X'
TABNAME =
VARKEY = "ファイル名
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3.