LUW Table Lock Object

本文介绍了一个使用 SAP 的 LUW Enqueue 技术实现表锁的 ABAP 程序示例。该程序演示了如何通过 enqueue 和 dequeue 函数对 ZTBTEST 表进行加锁和解锁,并更新表中的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*-----------------------------------------------------------------------
*
* Company XXX Company Limited
*
* ProgrameName: ZZW_LUW_ENQUEUE
*
* Author: Wei_Zhu
*
* Date: 08/01/2007
*
* Description: Study SAP In Program How Update Table Use LUW Enqueue
*
*
*-----------------------------------------------------------------------
REPORT ZZW_LUW_ENQUEUE Message-ID 00 .

*-----Table-------
Tables: ZTBTEST.

*-----Defined Structure-----
Types: Begin Of Stab,
Id like ZTBTEST-Z_USER_ID,
User_Name like ZTBTEST-Z_User_Name,
Text like ZTBTEST-Z_TEXT,
End Of Stab.

Data: wa_tab type Stab.

wa_tab-id = '1'.
wa_tab-user_name = 'Lilo Enqueue'.
wa_tab-text = 'LUW Lock Object'.

*Select-Options Sid for ztbtest-z_user_id no intervals.

Start-Of-Selection.

Call Function 'ENQUEUE_EZTBTEST'
Exporting
Mode_Ztbtest = 'X'
Z_USER_ID = wa_tab-id
Exceptions
foreign_lock = 1
system_failure = 2
Others = 3.

If Sy-Subrc <> 0.
Message ID Sy-msgid Type Sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
elseif Sy-Subrc EQ 0.
Write:/ 'Table [ ZTBTEST ] Lock OK.'.
EndIf.

update ztbtest set z_user_name = wa_tab-user_name
z_text = wa_tab-text
where z_user_id = wa_tab-id.

Call Function 'DEQUEUE_EZTBTEST'.
IF sy-subrc NE 0.
MESSAGE s398
WITH 'Error occured during unblocking for table ZTBTEST '.
STOP.
elseIf sy-subrc EQ 0.
Write: /'Table [ ZTBTEST ] Unlock OK.'.
ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值