可以通过ENQUEUE_EMMARAE 给物料上锁来判断物料是否被用。
lock成功,说明物料目前可用,然后别忘了再用DEQUEUE_EMMARAE解锁。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
CALL FUNCTION 'ENQUEUE_EMMARAE' EXPORTING mode_mara = 'E' mandt = sy-mandt matnr = l_matnr "物料 x_matnr = ' ' _scope = '2' _wait = ' ' _collect = ' ' EXCEPTIONS foreign_lock = 1 system_failure = 2 OTHERS = 3. IF sy-subrc <> 0. * 锁定失败,说明物料正在被其他程序用 ELSE. * 锁定成功,说明物料可用,然后用解锁 CALL FUNCTION 'DEQUEUE_EMMARAE' EXPORTING mode_mara = 'E' mandt = sy-mandt matnr = matnr_tmp x_matnr = ' ' _scope = '3' _synchron = ' ' _collect = ' '. ENDIF. |
以上。
发表评论