Кумедне використання стратегії деривації - як сховища даних - Іван Болховітінов

Транзакція FMDERIVE може використовуватися як сховище даних налаштувань.

    Насамперед для того, щоб не плодити Z-таблиці. Причому можна використовувати і з метою не пов'язаних із модулем FM.

Як мінуси, звичайно, можна відзначити:

  • Нецільове використання функціональності
  • Складність розподілу прав

У ній дуже зручно зберігати деякі дані – полів у структурі досить багато, дозволено діапазони, терміни дії, побудовано систему перенесення.

  • Відповідність МВЗ та рахунків витрат
  • Список допустимих комбінацій Рахунок + МВЗ + Замовлення
    Для цього заходимо в транзакцію FMDERIVE та створюємо там нову стратегію:

Звичайно, ні до яких балансових одиниць її прив'язувати не потрібно.

У рамках цієї стратегії створюємо новий крок – правило деривації:

деривації

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

Потім приступаємо до заповнення даними:

деривації

Використовуємо при необхідності діапазони та терміни дії.

Та й залишився момент для того, щоб використовувати цю таблицю у власному коді.

Спочатку заглянемо до таблиці TABADRS і шукаємо запис нашого кроку стратегії:

використання

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

деривації

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

Ось на підставі всього цього і пишемо наш власний код

Спочатку визначення та ініціалізація:

стратегії

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

стратегії

Залишається тільки спробувати в реальній роботі ... та й варіанти використання можна щепридумати…

Дякую! Стаття дуже гарна!

Для контролінгових контировок можна використовувати стандартну транзакцію: OKB9 — Зміна АвтоматПрисвоєноКонтування. (Для ведення великої кількості записів можна робити LSMW за допомогою «Позиціонування»).

Ще можна використовувати FI-CO заміщення та перевірки у т.ч. писати свої розширення їм. GGB0 - Обробка перевірок GGB1 - Обробка заміщень

Якщо змінюється склад полів (початкових або цільових) таблиця деривації перегенерується, а й перенесенням деривації можна затерти. Подивитися назву таблиці деривації можна також, якщо провалитися в крок деривації та вибрати функцію «Огляд» (Shift+F6). Справа в тому, що порядковий номер правила може бути змінено. Наприклад, Ваше фіктивне правило коштує 30-м, а потрібно додати 2 правила перед 10-м. Т.ч., такі правила мають бути неактивними і стояти найпершими, щоб не виникла потреба їх рухати.