ABAP 锁对象问题,针对条目数锁不住解决方法
2023-12-14 17:52:21
使用通过锁表函数??ENQUEUE_E_TABLE
针对 函数?varkey 入参,锁表?SFLIGHT
varkey ? =?|{?sy-mandt?}{?|AA|?}{?|0017|?}{?|20210916|?}|.
直接拼接主键就会出现锁表条目数锁不住的情况,SE11、SE16还可编辑
需要改进写法
像下面这样赋值即可针对行项目数据加锁
DATA: BEGIN OF ls_enqu_sflight.
DATA: mandt LIKE sflight-mandt.
DATA: carrid LIKE sflight-carrid.
DATA: connid LIKE sflight-connid.
DATA: fldate LIKE sflight-fldate.
DATA: END OF ls_enqu_sflight.
DATA: lv_varkey LIKE rstable-varkey.
ls_enqu_sflight-mandt = sy-mandt.
ls_enqu_sflight-carrid = 'AA'.
ls_enqu_sflight-connid = '0017'.
ls_enqu_sflight-fldate = '20210916'.
lv_varkey = ls_enqu_sflight.
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
tabname = 'SFLIGHT'
varkey = lv_varkey
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc IS INITIAL.
ENDIF.
?定义锁主键工作区
像上面调用即可成功锁住行项目
文章来源:https://blog.csdn.net/qq_40463305/article/details/134997996
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!