Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема розпочата: NachDenken від Травень 26, 2009, 11:13:53 ДП

Назва: Кто блокировал материал ?
Відправлено: NachDenken від Травень 26, 2009, 11:13:53 ДП
хотелось бы не только установить факт блокировки (ENQUEUE_MATERIAL) , но и логин,
кто сталкивался подскажите ?
Назва: Re: Кто блокировал материал ?
Відправлено: Dmitriy від Травень 26, 2009, 11:25:30 ДП
SM12 по MARA не помогло?
Назва: Re: Кто блокировал материал ?
Відправлено: Uukrul від Травень 26, 2009, 11:30:25 ДП
Цитата: NachDenken від Травень 26, 2009, 11:13:53 ДП
хотелось бы не только установить факт блокировки (ENQUEUE_MATERIAL) , но и логин,
кто сталкивался подскажите ?
Ну вообще-то в SY-чего-то там возвращается имя того кто блокировал, если мне не изменяет память. Попробуй под отладкой просмотреть эту структуру.
Назва: Re: Кто блокировал материал ?
Відправлено: Паганель від Травень 26, 2009, 11:33:03 ДП
а это не поможет?
http://sapforum.biz/index.php/topic,243.0.html (http://sapforum.biz/index.php/topic,243.0.html)
Назва: Re: Кто блокировал материал ?
Відправлено: Dmitriy від Травень 26, 2009, 11:43:51 ДП
Цитата: Паганель від Травень 26, 2009, 11:33:03 ДП
а это не поможет?
http://sapforum.biz/index.php/topic,243.0.html (http://sapforum.biz/index.php/topic,243.0.html)
Это, кстати, не пробовал, но может. Был еще такой момент (для информации), делал что-то по HR в плане замещения, не идет процесс, так сказать, зашел в SM12 и обнаружил, что сама транзакция 4 блокировки устанавливает на запись по pernr (табельный) в одной из таблиц. Перетестили, подтвердилось... Сделал в проге DO 4 TIMES ... ENDDO со снятием внутри блокировки, заработало. ;) Способ, конечно, может и не фонтан, просто задача срочная была, а методов решения не знал.  
Назва: Re: Кто блокировал материал ?
Відправлено: Uukrul від Травень 26, 2009, 12:05:50 ПП
Вот такой вот код после попытки установки блокировки выдает сообщение каким пользователем блокирована запись. Так что все проще.

  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.


А тот ФМ, так это если глобально хотите с блокировками поработать, а так это из пушки по воробьям да и долго  ;)
Назва: Re: Кто блокировал материал ?
Відправлено: NachDenken від Травень 26, 2009, 01:39:07 ПП
если пишет логин в sy то это просто замечательно,
срочно сейчас потестирую.
спасибо.
Назва: Re: Кто блокировал материал ?
Відправлено: Uukrul від Травень 26, 2009, 01:43:15 ПП
Цитата: NachDenken від Травень 26, 2009, 01:39:07 ПП
если пишет логин в sy то это просто замечательно,
срочно сейчас потестирую.
Пишет, пишет... я это из своей программы взял где обрабатываю блокировку заказа ММ
Назва: Re: Кто блокировал материал ?
Відправлено: NachDenken від Травень 26, 2009, 01:59:13 ПП
Пасиб.

После
CALL FUNCTION 'ENQUEUE_EMMARAE'
    EXPORTING
      matnr          = 'номер_материала'
    EXCEPTIONS
      foreign_lock   = 2
      system_failure = 3.

в sy-msgv1 логин