Автор Тема: Список блокированных объектов (по мотивам SM12)  (Прочитано 4909 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Получение списка блокированных объектов, так как это делает 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, то получите данные блокирования в целом по всем мандантам, как впрочем и всем пользователям, ну если надо. Какая польза? Ну это уже каждый сам смотрит куда это можно применить.