Комментарии по теме

«Тра­нспо­ртная система SAP для чайников»
Вячеслав Шиболов:
Хорошая метафора с коробками. Наглядная.
«Кло­ни­ро­ва­ние ERP системы. Подробное описание не для ба­зи­сни­ка. Про­до­лже­ние»
Вячеслав Шиболов:
Артем, спасибо за ответ. Но тогда у меня такой вопрос - чем эта статья отличается от статьи на данную тему, если бы вы писали её для базисника?   Извините, может быть вы сочтёте это...
«По­льзо­ва­те­ль TMSADM»
Олег Филоненко:
Возможно ли сгенерировать RFC для TMS c SNC аутентификацией, поскольку неудобно, входя в системы без запроса пароля, вводить его для транспорта.

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь

Мониторинг рабочих процессов SAP системы

04 ноября 2019, 20:08

Как вы знаете, ядром любой ABAP инстанции SAP системы является ABAP-диспетчер, который управляет рабочими процессами (рис. 1).

Рис. 1. Архитектура ABAP части SAP NetWeaver.

Рабочие процессы разделяются по назначению:

  • диалоговые (DIA) - отвечают за работу диалоговых пользователей системы;
  • фоновые (BTC) - выполняют фоновые задания;
  • обновления (UPD, UP2) - отвечают за обновление данных в таблицах;
  • блокировки (ENQ) - управляют блокировками на уровне сервера приложений;
  • печати (SPO) - отвечают за печать из SAP системы.

Мониторинг рабочих процессов осуществляется в транзакции SM50. Классический вариант транзакции хорошо известен администраторам SAP системы (рис. 2).

Рис. 2. Пример основного экрана транзакции SM50 в системе на SAP_BASIS 620.

Транзакция позволяет выполнять мониторинг всех рабочих процессов текущей инстанции. Процессы могут иметь различный статус - ожидать запросов (простаивать), выполнять задачу, ожидать сообщения или быть остановленными на уровне операционной системы по причине ошибки или сбоя. По каждому процессу можно:

  • просмотреть журнал (пункт меню "Процесс -> Трассировка -> Просмотреть файл"), 
  • перейти в отладку работающей программы (пункт меню "Программа/Режим -> Программа -> Отладка"), 
  • сбросить задачу, работающую на рабочем процессе (пункт меню "Процесс -> Отменить с (без) дампом"),
  • перезапустить процесс после сбоя (пункт меню "Процесс -> Перезапуск после ошибки -> Да").

Для просмотра рабочих процессов всех инстанций SAP системы (в случае использования системы с больше, чем одной ABAP инстанцией) используется транзакция SM66.

В свежих релизах SAP системы (SAP NetWeaver 7.40 SP08 и выше) дизайн и функциональность транзакции SM50 притерпели некоторые изменения (рис. 3).

Рис. 3. Пример транзакции SM50 в системе SAP NetWeaver 7.50.

Появилась возможность просматривать не только все рабочие процессы, но и получить список только активных в текущий момент времени рабочих процессов. Для переключения между этими режимами отображения служат кнопки "Активные рабочие процессы" и "Все рабочие процессы" на панели (рис. 3 и 4).

Рис. 4. Отображение только активных рабочих процессов в транзакции SM50.

Кроме того, в транзакции появилась возможность просмотра рабочих процессов всех диалоговых инстанций текущей SAP системы. Для этого необходимо в меню выбрать пункт "Перейти к -> Список по всем системам" (рис. 5).

Рис. 5. Получение списка всех рабочих процессов SAP системы в транзакции SM50.

Причем, если запустить транзакцию SM66 в новых релизах SAP NetWeaver, то можно увидеть интерфейс очень похожий на SM50 (рис. 6).

Рис. 6. Пример транзакции SM66 в системе SAP NetWeaver 7.50. 

Такая же кнопка переключения между отображением всех процессов или только активных (рис. 6 и 7).

Рис. 7. Пример транзакции SM66 в системе SAP NetWeaver 7.50 с полным списком рабочих процессов.

Дополнительно есть возможность переключить режим отображения рабочих процессов на отображение только по конкретной ABAP инстанции. Для этого в меню транзакции SM66 есть пункт "Перейти к -> Переключить на инстанцию" (рис. 8).

Рис. 8. Переключение в транзакции SM66 на отображение рабочих процессов конкретной инстанции.

Таким образом, складывается ощущение, что в новых версиях SAP NetWeaver транзакции SM50 и SM66 представляют собой практически один и тот же инструмент, с повторяющимися функциями. То есть транзакция SM50 заменяет транзакцию SM66 в старой версии системы. Но это верно только в какой-то степени. И дальше я расскажу почему.

Старая версия транзакции SM66 обладала рядом полезных функций, которых я не нашел в новой версии. 

По умолчанию транзакция отображает список активных рабочих процессов всех ABAP инстанций SAP системы. Но на панели есть полезная кнопка "Process Selection", нажав на которую появляется возможность в диалоговом окне настроить режимы отображения (рис. 9).

Рис. 9. Настройка режима отображения процессов в старой версии транзакции SM66.

В диалоговом окне можно ограничить выборку рабочих процессов:

  • по типу, 
  • по статусу, 
  • по пользователю, задачи которого обрабатывает процесс,
  • по времени работы задачи на процессе,
  • по таблице, с которой работает процесс,
  • и так далее (рис. 10).
Рис. 10. Ограничение рабочих процессов для отображения в SM66.

Таким образом, поигравшись с настройками, можно выполнять мониторинг процессов, решая разные задачи. Например:

  • отобразить все фоновые рабочие процессы в системе (рис. 11),
  • отобразить все рабочие процессы, работающие больше определённого периода времени,
  • отобразить все рабочие процессы, которые не обрабатывают в данный момент времени запросы пользователей - для того, чтобы понять сколько свободных ресурсов есть в системе (рис. 12).
Рис. 11. Список всех фоновых процессов в SAP системе.
Рис. 12. Список рабочих процессов в статусе "Ожидает".

Но для новых версий систем (SAP NetWeaver 7.40 SP08 и выше) не всё потеряно. Старая версия транзакции SM66 доступна через транзакцию SM66_OLD, за которой скрывается та же программа - SAPMSM66.

Подробности в SAP note 2143496 - SM66/SM50 new layout in EHP7.

Ролевое назначение : SAP Консультант / Consultant

Функциональная область : Информационные технологии / IT, Basis, ABAP

Ключевые слова : Мониторинг / Monitoring , Basis

Комментарии:

Константин Локшин (Рейтинг: 128) 16:07, 28 ноября 2019

Самое обидное, что:
1. Только в SM66_OLD осталась возможность вывести объем памяти, выделенной по процессы
2. В старых версиях SM50 можно было кликнуть на текст селекта, на котором висит программа, и провалиться в исходный ABAP код.
В новых версиях такого нет, надо по номеру процесса идти в st04.
 
В общем, с водой выплеснули ребенка.
19:25, 28 ноября 2019

Вячеслав Шиболов (Рейтинг: 714)

Да, именно это и хотел показать.
Спасибо за комментарий.