Планирование потребности материалов-аналогов в S/4 HANA

Для целей SAP PP появилась необходимость в создании в системе SAP материалов-аналогов. Для этого в транзакции PIC01 несколько материалов были объединены в один FFF-класс

Транзакция PIC01 объединение материалов FFF-классом

Однако, столкнулись с проблемой, что новый ППМ — MRP Live (транзакция MD01N) иногда не видит этого объединения и при обработке потребности на материал 76833, создает заявки без учета остатков материала 76834. При этом время от времени он работает нормально.

При этом старый ППМ (транзакция MD02) работает прекрасно, а современный MRP Live пасует перед логикой FFF-классов.

Долго проверяли Z-расширения, настройки и ноты, но ни к какому результату не пришли.

В процессе отладки выяснилось, что происходит вызов BADI MRP_DISPATCHER_BADI – метода DISPATCH_CREATE_TASK. В этом методе есть изменяемый параметр – таблица CT_MATS_TO_PLAN, в которой приходит перечень материалов и заводов, по которым происходит расчет ППМ. Далее, на основе этого списка создается список задач для параллельной обработки в AMDP-процедурах.

При этом в этой таблице CT_MATS_TO_PLAN есть поле group_id, с помощью которого можно указать запускать некоторые материалы в рамках одной TASK и тогда все работает прекрасно.

Осталась только техническая реализация – сгруппировать материалы-аналоги по FFF-классу (поле MARA-IMATN), добавить нужные материалы, если ППМ запустили только по одному материалу 76833. Так как поле group_id имеет тип RAW16, воспользовался вычислением MD5-хеша значения поля IMATN с помощью метода cl_abap_message_digest=>calculate_hash_for_char.

Таким образом, с помощью небольшого расширения добились правильной работы MRP Live с материалами-аналогами.

А вы сталкивались с тем, что MRP Live ведет себя иначе, чем классический ППМ? Какие еще «сюрпризы» находили в MD01N?

Управление видимостью полей во FloorPlanManager

Даже сейчас, в эпоху Fiori, есть некоторые плитки, которые на самом деле являются приложениями FPM. К примеру понадобилось скрыть ряд полей в «Изменение заказов ТОРО»

Приложение FPM

Первой мыслью было расширить конфигурацию компонентов. Для этого нажал правой кнопкой мыши по интересующему полю — «Техническая справка»

Читать далее «Управление видимостью полей во FloorPlanManager»

Забудьте про SE16N! Мощный анализ данных в SAP с помощью SE16H

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

В системах на базе HANA (включая S/4HANA) есть «секретное оружие» — транзакция SE16H.

В чем её главные фишки?

  1. Table Joins: Вы можете на лету связывать несколько таблиц (Inner/Outer Join).
  2. Агрегация: Можно сразу просуммировать значения или сгруппировать данные прямо в запросе.
  3. Скорость: Она работает напрямую с мощностями HANA.
Читать далее «Забудьте про SE16N! Мощный анализ данных в SAP с помощью SE16H»

Применение ЭЦП в SAP. Часть 3.

В предыдущих частях мы проделали путь от осознания необходимости изменения процесса подписания XML-файлов ЭЦП (часть 1) до нахождения рабочего механизма с помощью Egov Mobile(часть 1) и NCALayer (часть 2) для обеспечения соответствия законодательству Республики Казахстан.

Несмотря на работоспособность, решение с NCALayer оказалось не очень удобным при большом количестве подписываемых документов и интенсивной работе с порталом КГД.

В этой заключительной части мы рассмотрим вариант, который устраняет этот недостаток, существенно повышая комфорт пользователя.

Часть 3: Локальный Сервер Подписи — Скорость и Удобство

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

Читать далее «Применение ЭЦП в SAP. Часть 3.»

Таймаут в Flexible Workflow

Возникла необходимость в Workflow по утверждению заказа (сценарий WS00800238) ограничить период, в течении которого пользователь может утвердить или отклонить его. В процессе поиска решения выяснилось, что функционал Flexible Workflow в облачном SAP шире. В S4HANA ON PREMISE 02.2023 удалось решить следующим образом:

Далее в Fiori добавили вызов действия timeout по истечению фиксированного времени — для теста поставили 3 минуты.

Читать далее «Таймаут в Flexible Workflow»

Формирование файла Excel в приложении Fiori. ч 4.

Ранее я описывал способы формирования файлов в Fiori. Однако программирование в SAP не стоит на месте и развивается. В последних релизах SAP добавил новые технологии и сейчас я опишу способ, который позволяет скачивать генерируемые файлы с помощью модели RAP.

ABAP RAP (RESTful Application Programming Model) это модель разработки приложений на языке ABAP для облачных решений, однако она доступна и в локальных системах актуальных версий (на 7.54 еще не работает).

За основу я взял пост Streams in RAP : Uploading PDF , Excel and Other Files in RAP Application, однако там файлы сохранялись в таблице. Я же сделаю возможность формирования документов (например авансового отчета) для командировок из Fiori-приложения на лету.

Читать далее «Формирование файла Excel в приложении Fiori. ч 4.»

API-Тест. Часть 2

В первой части мы сделали простой API-тест REST-сервиса состоящий из двух шагов — авторизация и получение данных. Во второй части я опишу изменение данных бизнес-партнера, проверку изменения и покажу возможность автоматического запуска коллекции тестов на регулярной основе.

1. Изменение данных и контроль изменений.

Добавим новый запрос в нашу коллекцию тестов

Читать далее «API-Тест. Часть 2»