SAP BI-IP в BW/4HANA часть 4. Функции планирования.
Другие статьи цикла:
- SAP BI-IP в BW/4HANA часть 1. Hello World in SAP: ADSO + Aggregation Level + BEx Query
- SAP BI-IP в BW/4HANA часть 2. Отношение признаков на атрибутах инфо-объекта
- SAP BI-IP в BW/4HANA часть 3. Отношение признаков с деривацией
- SAP BI-IP в BW/4HANA часть 5. User exit переменные
О чем эта статья
Функции планирования – это ключевой функционал BI-IP, который позволяет использовать ABAP для обработки данных в формах планирования Excel или Lumira. Причем SAP предлагает как довольно обширный набор стандартных функций, так и возможность реализовывать свои собственные функции на ABAP.
В этой статье мы рассмотрим как воспользоваться стандартной функцией планирования, которая позволяет скопировать данные из одного среза в другой. Мы добавим в нашу модель функцию планирования таким образом, что она будет копировать данные из 2022 года в 2023.
Результат нашей работы можно увидеть на скриншотах ниже – изначально у нас были данные только за 2022 год, но после запуска функции планирования они скопировались в 2023.
Немного теории
Русскоязычных статей я не нашел, поэтому могу порекомендовать только англоязычные ресурсы:
- BW Integrated Planning – Steps to build a simple application
- Planning Business Data with BW Integrated Planning
Практика
Перед выполнением шагов ниже необходимо разработать модель данных, описанных в статьях 1-3 этого цикла.
Шаг 1. Создаем функцию планирования на уровне агрегации
Для того, чтобы создать функцию планирования, необходимо нажать правой кнопкой мыши на уровень агрегации ZZLICAR01 и выбрать Create -> Planning Function.

Вводим название функции как на скриншоте ниже и выбираем тип. Если вы хотите создать функцию планирования, которая будет выполнять несложные формульные вычисления на языке FOX, то необходимо выбрать 0RSPL_FORMULA. В нашем случае достаточно простого копирования, поэтмоу выбираем 0RSPL_COPY.

Теперь можно приступать к настройке функции планирования. В стандартной функции планирования можно выбрать по каким признакам мы будем фильтровать, а какие изменять. В нашем случае изменять мы будем год, поэтому проставляем чекбокс “Поля для изменения” напротив 0CALYEAR.

Теперь необходимо настроить из какого в какой года мы будем копировать данные



Проставляем Select All Key Figures, должно получиться вот так

Шаг 2. Открывает BEx запрос и запускаем функцию планирования
Открываем через RSRT созданный ранее BEx запрос в Analysis. Открываем вкладку “Компоненты”, нажимаем правой кнопкой мыши на название книги и выбираем “Использовать функцию планирования”.

Находим нашу функцию планирования ZZLICAR01_PF01 и и нажимаем ОК.

Нажимаем на нее правой кнопкой мыши и выбираем “Выполнение функции планирования”.

Смотрим на результат – данные скопировались из 2022 в 2023 год.

Теперь можем нажать на “Сохранить” и убедиться, что все данные корректно сохранились в ADSO.

Шаг 3. Проверяем результат в ADSO
Открываем ADSO CARS и через просмотр данных убеждаемся, что все данные сохранились.

В настройках GUI можно включить отображение Ключей и Текстов, т.о. при выборе стандартных функций планирования из справочника будет указано что то вроде “0RSPNAN_COPY Скопир.” вместо “Скопир.”. Это удобно, если у нас под сотню Z функций и удобнее искать по техническому имени