锁表类封装

ps:bapi commit work 中 有个全局解锁,会解除所有锁

调用

      DATA(ls_ret) =  zcl_comm_tools=>enq_table( iv_tabnm = 'ZFIT0022' iv_tabkey = CONV rstable-varkey( <ls_data>-zfkls ) ).

代码

IV_TABNM	TYPE RSTABLE-TABNAME	表名
IV_TABKEY	TYPE RSTABLE-VARKEY	表的锁定键
value( IV_MODE )	TYPE DD26E-ENQMODE  DEFAULT 'E'	锁定方式
value( IV_WAIT )	TYPE BOOLEAN OPTIONAL	布尔变量(X= 真,-= 假,空格 = 未知)
value( RS_RET )	TYPE TS_MSG	



METHOD enq_table.
* mode_rstable:
* E  用于修改表,可累加,不能跨程序加解锁。
* S  用于读取数据。
* X  独占锁,用于修改数据,可跨程序加解锁。
  CLEAR rs_ret.

  CALL FUNCTION 'ENQUEUE_E_TABLE'
    EXPORTING
      mode_rstable   = iv_mode
      tabname        = iv_tabnm
      varkey         = iv_tabkey
      _wait          = iv_wait
    EXCEPTIONS
      foreign_lock   = 1
      system_failure = 2
      OTHERS         = 3.
  rs_ret-subrc = sy-subrc.
  IF rs_ret-subrc <> 0.
    rs_ret-lockuser = sy-msgv1.
  ENDIF.
ENDMETHOD.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值