Меню

Оптимизация производительности планирования потребности в материалах в SAP HANA

|

В статье рассматриваются способы активации новых вариантов оптимизации производительности планирования потребности в материалах (ППМ) в пакете расширения 6 для SAP ERP Central Component (ECC) 6.0, версия для SAP HANA. Автор описывает различия между классическими транзакциями ППМ и новыми операциями MRP Live с инструкциями по выбору между этими вариантами в зависимости от ситуации.

Ключевое понятие

Начиная с версии SAP ERP Central Component (ECC) 6.0 с пакетом расширения 7 в стандартный объем поставки системы ERP входит новый отчет по планированию потребности в материалах (ППМ) MRP Live. Поскольку MRP Live выполняется полностью в SAP HANA, все шаги ППМ, например, расчет потребностей нетто или расчет объема по проектам заказов на поставку выполняются в SAP HANA.

В стандартных транзакциях планирования потребности в материалах (ППМ) данные выбираются последовательно из каждой таблицы базы данных. Это означает, что система выбирает каждый элемент планирования из таблицы, и выбранная запись обрабатывается посредством кода ABAP. Если запись является действительным элементом ППМ, она добавляется во внутреннюю таблицу MDPSX. К концу процесса выбора данных из базы данных в этой таблице хранятся все релевантные для ППМ элементы планирования. Эта информация используется для дальнейшей обработки во время прогона ППМ.

Такой подход в течение нескольких лет применялся в рамках стандартного ППМ и отлично работал с традиционными базами данных SQL. Однако SAP HANA — инновационная технология, которая предоставляет намного больше мощных функций и возможностей, которые отсутствуют в старых базах данных. Например, вместо последовательного выбора данных благодаря параллелизации в SAP HANA можно одновременно считывать несколько таблиц, что повышает общую производительность во время выбора данных.

Чтобы реализовать преимущества всех новых функций SAP HANA в SAP ERP Central Component (ECC) 6.0 (версия для SAP HANA) с пакетом расширения 6 ,классические транзакции ППМ были оптимизированы для выполнения в базе данных SAP HANA. Процесс выбора данных в старых транзакциях ППМ был полностью изменен. Вместо последовательного выбора и обработки каждой записи после выбора теперь выбор всех данных инициируется в базе данных SAP HANA, где таблицы можно выбирать параллельно.

После выбора код ABAP выполняет постобработку, и элементы планирования становятся доступны во внутренней таблице MDPSX. Таким образом, единственным отличием от классических транзакций ППМ, которое заметят пользователи, является повышение производительности.

Активация опций оптимизации производительности во время ППМ

Даже в случае обновления системы до последней версии оптимизация производительности для ППМ не активируется по умолчанию. Это значит, что вы можете выполнять старые транзакции ППМ без каких-либо расширений.

Для активации опций оптимизации производительности для ППМ необходимо определить SAP HANA как основную базу данных. Если SAP HANA работает как дополнительная база данных (так называемый «прицепной» вариант), вы не сможете применить описываемый подход.

Если SAP HANA является основной базой данных, то для активации данной функциональности сначала откройте Business Add-In (BAdI) PPH_MDPSX_DBSYS_OPT. Для открытия этого BAdI выполните транзакцию SE18. На появившемся экране (рис. 1) проверьте следующее:

  • Точка расширения PPH_DBSYS_OPT активирована.
  • Для BAdI PPH_MDPSX_PREPARE_READ доступна активная реализация.

На рис. 1 дважды щелкните по пункту «Implementations» (Реализации) слева. Откроется экран, показанный на рис. 2. При выборе опции «Filter Val.» (Фильтр значений) можно увидеть, что для значения HDB установлен фильтр DBSYS_TYPE Это значение соответствует базе данных SAP HANA. Это значение по умолчанию для данной реализации, поставляемой SAP в стандартной системе.

Рис. 1. BAdI PPH_MDPSX_DBSYS_OPT

Рис. 2. Реализация расширения PREPARE_READ_MDPSX

После выполнения описанных выше шагов опции оптимизации производительности для ППМ в SAP HANA в системе будут активированы. Обратите внимание на то, что оптимизация доступна только для ППМ, но не для долгосрочного планирования (LTP).

Когда использовать классические транзакции ППМ и когда использовать MRP Live

В классических транзакциях ППМ оптимизирован только процесс выбора элементов планирования из базы данных, в то время как в MRP Live на платформе SAP HANA выполняются все операции. Таким образом, между классическими транзакциями ППМ и MRP Live существуют проектные различия.

Поскольку отчет MRP Live полностью выполняется в SAP HANA, некоторые функциональные возможности классических транзакций ППМ в новом режиме MRP Live недоступны. Например, если для выполнения MRP Live используется транзакция MD01N, создать ведомость ППМ невозможно. Результаты ППМ в этом случае необходимо оценивать только с помощью транзакции MD04.

Еще одно ограничение заключается в том, что существующие BAdI не вызываются MRP Live, поскольку невозможно вызвать код ABAP во время выполнения MRP Live в SAP HANA. Это ограничение применяется и при оптимизации классических транзакций ППМ. Однако поскольку была оптимизирована только процедура чтения базы данных, это ограничение относится только к тем BAdI, которые вызываются во время чтения данных из базы данных (например, BAdI MD_CHANGE_MRP_DATA). Для их замены используется BAdI MD_ADD_ELEMENTS.

Если требуется вызвать пользовательский код в BAdI или создать ведомости ППМ, можно установить планирование конкретного материала согласно логике классического ППМ в транзакции MD01. Для этого выполните транзакцию MD_MRP_FORCE_CLASSIC и выберите материалы, планирование которых всегда выполняется посредством классического ППМ.

Некоторые функции для MRP Live пока не поддерживаются: профили обеспеченности запасами, замена и прямое производство. При обнаружении одного из этих ограничений для материала система автоматически переключается на логику классического ППМ.

MRP Live расширяется ежеквартально, поэтому неподдерживаемые функции, возможно, будут включены в следующие пакеты поддержки. Полный и актуальный список ограничений для MRP Live можно найти в SAP-ноте 1914010.

С точки зрения производительности MRP Live следует использовать при планировании большого числа материалов. При работе с MRP Live на планирование каждого материала, как правило, затрачивается меньше времени, чем при выполнении классических транзакций ППМ. Однако оптимизатору SAP HANA требуется фиксированное время на оптимизацию кода SAP HANA (другими словами, на перевод кода в код SAP HANA нижнего уровня). Это время является фиксированным и не зависит от количества материалов для планирования.

В классических транзакциях ППМ выбор данных осуществляется в SAP HANA с постобработкой в ABAP. Это означает, что если планирование выполняется для небольшого количества материалов, классические транзакции ППМ могут выполняться быстрее, чем MRP Live, поскольку не выполняется вызов оптимизатора SAP HANA. Если требуется выполнить планирование для большого числа материалов, время работы оптимизатора SAP HANA можно не учитывать. Поэтому MRP Live окажется быстрее классического ППМ. По оценке SAP, если в планировании участвуют до 100 материалов, классические транзакции ППМ выполняются быстрее MRP Live.

Существует два эффективных отчета, которые можно использовать для сравнения производительности классического ППМ и MRP Live:

  • RMMDMONI: Журнал выполнения классического ППМ
  • PPH_MRP_PERF: Журнал выполнения MRP Live

Оптимизация производительности MRP Live: Примеры

В этом разделе я проанализирую ряд примеров, чтобы проиллюстрировать изложенный выше материал статьи и показать, как добиться оптимальной производительности MRP Live при работе с SAP HANA.

Для первого примера рассмотрим материал, планирование которого заняло менее секунды в классической транзакции ППМ (для всех материалов в этом примере установлены идентичные параметры настройки и среднее количество элементов планирования).

Теперь выполним планирование материала с аналогичными параметрами планирования в MRP Live. Для этого используется транзакция MD01N. Как показано на рис. 3, в разделе экрана «Planning Scope» (Объем планирования) заполните поля «Plant» (Завод) и «Material» (Материал), а также установите индикатор «Regenerative Plng» (Пересчет потребности). В разделе «Control Parameters» (Управляющие параметры) введите значение в поле «Planning Mode» (Режим планирования), например, 3. Затем выберите пиктограмму выполнения для запуска прогона ППМ.

Рис. 3. Заполнение полей для одного материала перед выполнением прогона ППМ

Примечание

Эти примеры были созданы в тестовой системе, в которой рабочая нагрузка и размер таблиц базы данных невелики. Общее время выполнения несопоставимо со временем выполнения в продуктивной системе.

На следующем экране (рис. 4) отображаются результаты MRP Live. Обратите внимание на то, что для планирования этого материала системе потребовалось 8 секунд.

Рис. 4. Результаты MRP Live для одного материала

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти