УПРАВЛЕНЧЕСКИЙ УЧЁТ CO И БЮДЖЕТИРОВАНИЕP1L2

CO: Граничные случаи расчёта распределений

Как проверять нулевую и отрицательную базу, знаки tracing factors, округление и повторяемость, не выдавая учебный алгоритм за поведение SAP.

Ревизия 1 Применимость к указанным контекстам Частичное покрытие Контекст: CTX-S4-ONPREM документальная опора: недостаточно данных
Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.

CO: Граничные случаи расчёта распределений#

Распределение становится трудным для проверки не в обычном случае, а когда база пуста, отдельные tracing factors отрицательны, итог округляется или запуск повторяется после частичного успеха. Разбирайте такие ситуации с точными входными данными и выбранным правилом получателя.

Нулевая база#

Для variable portions сумма долей обычно определяется по reference base. Если база всех получателей равна нулю, деление на неё математически не определено. Диагностическая реализация должна завершать такой расчёт явным результатом «нулевая база», а не придумывать равные доли и не маскировать проблему. В SAP заранее проверьте доступность базы, отбор периода, получателей и настроенный receiver rule; обработка зависит от allocation context и конфигурации.

При фиксированных процентах, долях или суммах другая логика: значение задаётся правилом и может не зависеть от переменной базы. Для фиксированного процента сумма менее 100% может оставить часть значения у отправителя; поэтому «нулевая база» не должна автоматически трактоваться как нулевая сумма во всех видах распределения.

Отрицательные факторы и суммы#

Отрицательный tracing factor возможен, когда фактор берётся из фактических данных, например количеств или статистических показателей. В документации SAP описаны варианты масштабирования отрицательных факторов. Выбор может изменить состав получателей и результат, а в итерационном расчёте смешанные знаки способны привести к несходимости.

Не применяйте abs() автоматически: такая нормализация стирает исходный знак и может изменить смысл сторно, возврата или отрицательного показателя. Зафиксируйте исходные значения, сумму факторов, вариант scaling и все исключённые/обнулённые факторы. Если отрицательные затраты распределяются по бизнес-правилу, ожидаемые знаки отправителя и получателей должны быть проверены отдельно.

Округление и устойчивость#

Для учебной контрольной модели используйте decimal arithmetic и округляйте в валютной точности. Если округлённые доли не дают исходную сумму, остаток можно детерминированно назначить получателю с наибольшим остатком дробной части; при равенстве используйте устойчивый ключ получателя. Это рекомендация для воспроизводимого справочного алгоритма, а не утверждение о внутреннем алгоритме SAP.

Пример: сумма 10.00 распределяется между тремя равными долями. Точные доли равны 3.333..., а округлённые до центов дают 9.99. Контрольная модель может назначить недостающий цент получателю с наибольшим остатком по устойчивому порядку ключей. Сверьте, что сумма получателей равна сумме отправителя, и отдельно документируйте правило округления.

Повторяемость запуска#

Test run и live run имеют разные последствия. Test run не создаёт реальные проводки; завершённый live run нельзя безопасно повторять без выяснения фактического результата. Используйте журнал и поддерживаемый SAP reversal run, затем только после сверки повторяйте расчёт. Идемпотентность справочного кода не означает, что повторный запуск SAP-проводки безопасен.

Минимальный набор диагностических данных#

  1. allocation context, цикл, сегмент, период, правило sender/receiver и состояние запуска.
  2. исходная сумма, валюта и точные tracing factors до преобразования.
  3. выбранный источник базы, фильтры, знак общей базы и обработка нулевых получателей.
  4. scaling для отрицательных факторов, точность и правило округления.
  5. test/live/reversal run, журнал, уже созданные документы и итоговая сумма по обеим сторонам.

Числовой пример выше является синтетической контрольной моделью, а не SAP runtime-тестом. Источники SAP Help относятся к S/4HANA On-Premise 2025 FPS01; отдельная страница запуска описывает операции test, actual и reversal. Источники зарегистрированы как metadata_only; конкретный алгоритм округления и поведение системы в нулевой базе не проверялись.

Связанные материалы#

Источники и документация

  1. SAP Help: Scaling of Negative Tracing Factors ↗
  2. SAP Help: Receiver Tracing Factors for Allocation Segments ↗
  3. SAP Help: Receiver Rule ↗
  4. SAP Help: Run Allocations ↗

Источники нужны для самостоятельной проверки. Примеры и интерпретации на сайте могут быть учебными упрощениями.