Меню

Работа с производственным календарем (SCAL / OY05) (factory calendar) и полезные ФМа

|

В одной из предыдущих статей мы рассматривали как работать с датами и временем: прибавлять и отнимать количество дней/секунд, а также форматировать. Однако, зачастую приходится работать именно с датами производственного календаря, а не с простой последовательностью дат.

← Предыдущий пост

Производственный календарь – это календарь с учетом рабочих и праздничных дней. Его цель – правильно спланировать производственные мощности, сориентироать клиента по срокам производства/доставки, корректно начислить зар.плату, отпуск и другие начисления. Список рабочих и нерабочих дней на 2025 год можно видеть на сайте, например, КонсультантПлюс. Сам календарь утверждается Правительством.

Однако, это не значит, что все предприятия и/или их подразделения обязаны работать в соответствии с этим календарем. Существуют отрасли/производства, которые останавливаются очень редко, а постоянство работы обеспечивается сменами.

Ведение производственного календаря (мастер-данные)

В SAP ERP для ведения производственного календаря имеется транзакция SCAL (или OY05). В транзакции SCAL указываются: идентификатор производственного календаря, а также календарь с набором праздников (Holiday Calendar) и рабочие дни недели (Рис.1):

Рис. 1 Производственный календарь - Z9 (для целей демонстрации)

Внутри транзакции SCAL мы также обозначает праздничные дни и присваиваем их нужному Календарю праздничных дней.

Рис. 2 Меню для ведения праздничных дней

В календаре праздничных дней у нас имеется список праздничных дней (случаи, когда дни могут «сдвигаться» тоже предусмотрены, но сейчас нам нужен сам принцип присвоения).

Рис. 3 Присвоение праздничных дней календарю выходных дней

После того, как в систему заведены: производственный календарь и праздничные дни – система может корректно вычислять даты с учетом производственных возможностей.

Идентификатор производственного календаря присваивается через настройки к различным орг.единицам: Балансовой единице, Заводу, складу, пункту отгрузки. Поэтому правило: не стоит «хардкодить» ID-производственного календаря, а лучше брать его идентификатор из настроек. Обращу внимание, что не все подразделения компании могут работать по единому производственному календарю. Это может быть в силу специфики отрасли или в силу региональных особенностей.

Ближайший рабочий день – используем ФМ DATE_CONVERT_TO_FACTORYDATE

Чтобы узнать ближайший рабочий день – мы можем использовать ФМ DATE_CONVERT_TO_FACTORYDATE с параметрами:

Рис. 4 Пример работы ФМа DATE_CONVERT_TO_FACTORYDATE

В результате мы видим, что по производственному календарю Z9 – 5января является выходным днем, а ближайший рабочий день – 9 января 2025.

Чтобы прибавить/отнять N-производственных дней к дате: ФМ BKK_ADD_WORKINGDAY

Если Вы получаете заказ 20 января, а на его исполнение Вам нужно 10 рабочих дней, то готов к отгрузке он будет...3 февраля.

Рис. 5 Расчёт производственной даты "через 10 дней"

Для отнимания даты – использовать отрицательное количество в параметре I_DAYS.

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти