Транзакция FMDERIVE может использоваться как хранилище данных настроек.
- В первую очередь для того, чтобы не плодить Z-таблицы. Причем можно использовать и в целях не связанных с модулем FM.
В качестве минусов, конечно, можно отметить:
- Нецелевое использование функциональности
- Сложность распределения прав
В ней очень удобно хранить некоторые данные – полей в структуре достаточно много, разрешены диапазоны, сроки действия, выстроена система переноса.
Примеры использования:
- Соответствие МВЗ и счетов затрат
- Список допустимых комбинаций Счет + МВЗ + Заказ
- Для этого заходим в транзакцию FMDERIVE и создаём там новую стратегию:
Конечно ни к каким балансовым единицам её привязывать не нужно.
В рамках этой стратегии создаём новый шаг – правило деривации:
В данном случае я задаю три исходных поля и одно целевое в качестве пустышки (требуется хотя бы одно поле).
Затем приступаем к заполнению данными:
Используем при необходимости диапазоны и сроки действия.
Ну и остался момент для того, чтобы использовать эту таблицу в собственном коде.
Сначала заглянем в таблицу TABADRS и ищем запись нашего шага стратегии:
PARAM_1 – это сгенерированная таблица где хранятся наши данные:
PARAM_2 – это инклюд с подпрограммами доступа к этой таблице, использовать ли его – дело вкуса.
Вот на основании всего этого и пишем наш собственный код
Сначала определения и инициализация:
И далее код вытягивания данных и реакции на результат:
Остаётся только попробовать в реальной работе…да и варианты использования можно ещё придумать…
Спасибо! Статья очень хорошая!
Для контроллинговых контировок можно использовать стандартную транзакцию:
OKB9 — Изменение АвтоматПрисвоенКонтировок.
(Для ведения большого числа записей можно делать LSMW используя «Позиционирование»).
Ещё можно использовать FI-CO замещения и проверки в т.ч. писать свои расширения для них.
GGB0 — Обработка проверок
GGB1 — Обработка замещений
В случае если меняется состав полей (исходных либо целевых) таблица деривации перегенерируется, да и переносом деривации можно затереть.
Посмотреть название таблицы деривации можно также если провалиться в шаг деривации и выбрать функцию «Обзор» (Shift+F6). Дело в том, что порядковый номер правила может быть изменен. Например, Ваше фиктивное правило стоит 30-м, а нужно добавить 2 правила перед 10-м. Т.о., такие правила должны быть неактивными и стоять самыми первыми, чтобы не возникла необходимость их двигать.