Кумедне використання стратегії деривації - як сховища даних - Іван Болховітінов
Транзакція FMDERIVE може використовуватися як сховище даних налаштувань.
-
Насамперед для того, щоб не плодити Z-таблиці. Причому можна використовувати і з метою не пов'язаних із модулем FM.
Як мінуси, звичайно, можна відзначити:
- Нецільове використання функціональності
- Складність розподілу прав
У ній дуже зручно зберігати деякі дані – полів у структурі досить багато, дозволено діапазони, терміни дії, побудовано систему перенесення.
- Відповідність МВЗ та рахунків витрат
- Список допустимих комбінацій Рахунок + МВЗ + Замовлення
-
Для цього заходимо в транзакцію FMDERIVE та створюємо там нову стратегію:
Звичайно, ні до яких балансових одиниць її прив'язувати не потрібно.
У рамках цієї стратегії створюємо новий крок – правило деривації:

В даному випадку я задаю три вихідні поля і одне цільове як пустушку (потрібна хоча б одне поле).
Потім приступаємо до заповнення даними:

Використовуємо при необхідності діапазони та терміни дії.
Та й залишився момент для того, щоб використовувати цю таблицю у власному коді.
Спочатку заглянемо до таблиці TABADRS і шукаємо запис нашого кроку стратегії:

PARAM_1 – це згенерована таблиця, де зберігаються наші дані:

PARAM_2 – це інклюд з підпрограмами доступу до цієї таблиці, чи використовувати його справа смаку.
Ось на підставі всього цього і пишемо наш власний код
Спочатку визначення та ініціалізація:

І далі код витягування даних та реакції на результат:

Залишається тільки спробувати в реальній роботі ... та й варіанти використання можна щепридумати…
Дякую! Стаття дуже гарна!
Для контролінгових контировок можна використовувати стандартну транзакцію: OKB9 — Зміна АвтоматПрисвоєноКонтування. (Для ведення великої кількості записів можна робити LSMW за допомогою «Позиціонування»).
Ще можна використовувати FI-CO заміщення та перевірки у т.ч. писати свої розширення їм. GGB0 - Обробка перевірок GGB1 - Обробка заміщень
Якщо змінюється склад полів (початкових або цільових) таблиця деривації перегенерується, а й перенесенням деривації можна затерти. Подивитися назву таблиці деривації можна також, якщо провалитися в крок деривації та вибрати функцію «Огляд» (Shift+F6). Справа в тому, що порядковий номер правила може бути змінено. Наприклад, Ваше фіктивне правило коштує 30-м, а потрібно додати 2 правила перед 10-м. Т.ч., такі правила мають бути неактивними і стояти найпершими, щоб не виникла потреба їх рухати.