Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Uukrul от Июль 20, 2008, 09:32:14 pm

Название: Список блокированных объектов (по мотивам SM12)
Отправлено: Uukrul от Июль 20, 2008, 09:32:14 pm
Получение списка блокированных объектов, так как это делает SM12, можно воспользоваться ФМ ENQUEUE_READ. Так как записи блокирования находятся не в таблице, то другим способом типа прочитать из БД это сделать никак.
Код: You are not allowed to view links. Register or Login
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, то получите данные блокирования в целом по всем мандантам, как впрочем и всем пользователям, ну если надо. Какая польза? Ну это уже каждый сам смотрит куда это можно применить.