一.需求来源
我需要找到物料的锁,判断它有没有在被更改使用。
二.实例使用
1.MM02输入物料,先把物料处于更改状态,那它属于锁定状态。
2.进入SM12,查看锁定列表
3.代码
DATA: lv_garg TYPE seqg3-garg.
DATA: lt_enq TYPE TABLE OF seqg7.
lv_garg = sy-mandt && '000000000020000888' ."集团 + 物料号。
CALL FUNCTION 'ENQUE_READ2'
EXPORTING
gclient = sy-mandt
gname = 'MARA' "锁定的表
garg = lv_garg "锁参数 ---锁不同的锁,有不同的参数。参考SM12
TABLES
enq = lt_enq. "被锁的详细信息
IF lt_enq IS NOT INITIAL. "返回的表是有值,就说明被锁的。
" MESSAGE '被锁定' TYPE 'E' DISPLAY LIKE 'S'.
ENDIF.
cl_demo_output=>display( lt_enq )."快速显示内表
4.运行的结果
使用的注意事项:
1.ENQUE_READ2 是一个读取锁的通用函数,参数会根据不同的表而变化。
2.想要了解锁的详细信息可以转到—江正军ABAP锁、数据库锁
3.你可以使用此函数来判断销售订单,采购订单,交货单等等有没有被锁定。
分享使我快乐,我是寒武青锋~!