Список блокированных объектов (по мотивам SM12)

Автор Uukrul, Липень 20, 2008, 09:32:14 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Uukrul

Получение списка блокированных объектов, так как это делает SM12, можно воспользоваться ФМ ENQUEUE_READ. Так как записи блокирования находятся не в таблице, то другим способом типа прочитать из БД это сделать никак.

DATA: BEGIN OF lt_sec OCCURS 1.
        INCLUDE STRUCTURE seqg3.
DATA: END OF lt_sec.


CALL FUNCTION 'ENQUEUE_READ'
* EXPORTING
*   GCLIENT                     = SY-MANDT
*   GNAME                       = ' '
*   GARG                        = ' '
*   GUNAME                      = SY-UNAME
*   LOCAL                       = ' '
*   FAST                        = ' '
* IMPORTING
*   NUMBER                      =
*   SUBRC                       =
  TABLES
    enq                         = lt_sec
EXCEPTIONS
   communication_failure       = 1
   system_failure              = 2
   OTHERS                      = 3.

IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

По умолчанию читаются данные блокирования для текущего манданта и пользователя под которым запущен процесс. Но если поле манданта передать как space, то получите данные блокирования в целом по всем мандантам, как впрочем и всем пользователям, ну если надо. Какая польза? Ну это уже каждый сам смотрит куда это можно применить.