判断条目是否被锁住

判断条目是否被锁住

 

REPORT  z_barry_test .

DATA: locked .

START-OF-SELECTION.

  PERFORM checklock USING 'AUFK' '670008200000001' locked .
  WRITE locked.

*&---------------------------------------------------------------------*
*&      Form  checklock
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM checklock USING tablename keyname CHANGING locked.
  DATA: BEGIN OF enq OCCURS 0.
          INCLUDE STRUCTURE seqg3.
  DATA: END OF enq.
  CLEAR locked.

  DO 3 TIMES.
    CALL FUNCTION 'ENQUEUE_READ'
      EXPORTING
        gclient = sy-mandt
        guname  = sy-uname
        gname   = tablename
        garg    = keyname
      TABLES
        enq     = enq
      EXCEPTIONS
        OTHERS  = 1.
    IF sy-subrc = 0.
      IF enq[] IS INITIAL.
        locked = ''.
      ELSE.
        locked = 'X'.
      ENDIF.
      EXIT.
    ENDIF.
  ENDDO.
ENDFORM.                    "checklock

posted @ 2012-01-29 16:30  VerySky  阅读(423)  评论(0)    收藏  举报