Генерация тестовых даных

Две интересных программы:

1. *CUBE*SAMPLE
Позволяет создавать mockup данные в провайдере. Использовать с осторожностью — при не правильных опциях система насоздает случайные SID в используемых признаках.

2. *ADSO*SAMPLE
То же самое, для ADSO. Позволяет в том числе генерить RECORDMODE, выставлять другую агрегацию. При создании записей с использованием существующих мастер-данных признаков — обратить внимание, будут использоваться только SID, у которых DATAFL = abap_true.

Удобно, если Reporting и DWH выполняют разные разработчики.

RECORDMODE

Толковая статья как пользоваться RECORDMODE.
Допустим нам надо загрузить данные из DSO в куб по какому-либо ключу. Пользователь может создать записи, скорректировать их или удалить. Если правильно проставлять метку recordmode, то при активации в DSO все показатели просуммируются в соответствии с меткой. Добавленные присуммируются, скорректированные обновятся, удаленные — обнулятся.
Т.е. пользователь создал запись: 
Конфеты, 10 руб.
Она залилась в DSO, активировалась, ушла в куб, в кубе имеем конфеты на сумму 10 р.
После этого пользователь скорректировал запись:
Конфеты 7 руб.
Она залилась в DSO, после активации имеем в журнале конфеты -3 р, в активных данных конфеты на сумму 10 — 3  = 7 р., в куб так же ушло -3 рубля, в итоге в кубе конфеты 7 руб.
В конце концов пользователь удалил запись:
Если передать при этом метку recordmode = D, то в DSO в журнале получим конфеты на сумму 10 — 3 — 7 = 0 р., в активных данных мы эту запись вообще не увидим (адекватное поведение BW), а вот в кубе она останется. В кубе будет Конфеты 0 руб.
В отчете это выглядит не красиво, убрать пустые строки можно только подавив все нулевые показатели. Для того чтоб убрать эту строку можно оказывается просто сжать куб с подавлением нулей. Тогда при сжатии система проверит каждую запись, и если все показатели пустые или ноль, то она просто удалит ее из куба. Очень удобно. Из цепочки эта галочка так же доступна.