1、ENQUEUE_E_TABLE/DEQUEUE_E_TABLE,没创建锁对象的时候使用; 2、ENQUEUE_ESFUNCTION/DEQUEUE_ESFUNCTION,没创建锁对象的时候使用; 3、ENQUEUE_ES_PROG/DEQUEUE_ES_PROG,用于控制同一个程序不能并发执行; 4、DEQUEUE_ALL,解同一个程序中创建的所有锁。
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' TA...
CALL FUNCTION 'DEQUEUE_E_TABLE' EXPORTING TABNAME = TABLE EXCEPTIONS FOREIGN_LOCK = 1 SYSTEM_FAILURE = 2 OTHERS = 3. * IF SY-SUBRC <> 0. WRITE: / 'P_UNLOCK', SY-SUBRC. EXIT. ENDIF. * ENDCASE. * END-OF-SELECTION. When i run with P_LOCK = 'X' and look in SM12 nothing is...
We can use the function modules ENQUEUE_E_TABLE for locking tables and the function module DEQUEUE_E_TABLE for unlocking tables. With this method, we don't need to lock objects in order to lock the tables. In other words, any table can be locked/unlocked using these function modules. ...
在程序的结束可以用DEQUEUE FUNCTION MODULE来解锁(当然如果你不写这个,程序结束的时候也会自动的解锁),这个时候,系统会自动从LOCK TABLE把相应的记录删除。使用DEQUEUE FUNCTION MODULE来解锁的时候,不会产生EXCEPTION(不需要对系统返回码sy-subrc进行判断)。如是要解开你在程序中创建的所有的逻辑锁,可以用函数:DEQUEUE...
Dear all, Can anybody please tell me the significance of parameters in the above FMs. i.e. _SCOPE, _WAIT, _COLLECT, _SYNCHRON. Thanks a lot in advance. Best Regards,
一个 Lock Object 可以包含一个或者多个数据表,这些数据表之间通过外键关系连接在一起。然后,我们可以通过调用特定的函数模块来对这个 Lock Object 进行操作,比如ENQUEUE_<lock object>(请求设置锁)和DEQUEUE_<lock object>(请求释放锁)。 在ABAP Lock 机制中,Conflict Check 是用来检测和处理锁冲突的过程。当一个...
call function 'DEQUEUE_E_TABLE' exporting * MODE_RSTABLE = 'E' tabname = 'MARA' varkey = varkey * X_TABNAME = ' ' * X_VARKEY = ' ' * _SCOPE = '3' * _SYNCHRON = ' ' * _COLLECT = ' ' . 锁定和解锁 当用逻辑锁来锁定表条目的时候,系统会自动向LOCK TABLE中写入记录。
式的锁,如果没有别的用户对其加S模式的锁,那么你还可以对其加E模式的锁。X模式的不可以。 当激活锁对象的时候,系统会自动创建两个FM,ENQUEUE_<锁对象名>和DEQUEUE_<锁对象名>,分别用来锁 定和解锁。 三、锁定和解锁 当用逻辑锁来锁定表条目的时候,系统会自动向LOCK TABLE中写入记录。
答案:首先要在 ABAP 字典中创建锁对象,然后才能在 ABAP 程序中设锁。创建锁对象时,系统会自动生成两个 FM 来进行锁管理。用于设锁的 FM 为: ENQUEUE_。它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。若设锁不成功的话,就会在 Return 中反映出来。用于释放锁的 FM 为:DEQUEUE_...